net loginurl form cookie aspx asp asp.net forms-authentication

loginurl - Permitir el acceso de usuarios no autenticados a una página específica mediante la autenticación de formularios ASP.Net



web config forms authentication (4)

Estoy usando la Autenticación de formularios ASP.Net. Mi Web.config se ve así.

<authentication mode="Forms"> <forms loginUrl="login.aspx"/> </authentication> <authorization> <deny users="?" /> </authorization>

Entonces, actualmente, cada página aspx requiere autenticación.

Deseo permitir el acceso incluso a usuarios no autenticados a una página específica llamada special.aspx. ¿Cómo puedo hacer esto?


Eche un vistazo al ejemplo de MS Support

<configuration> <system.web> <authentication mode="Forms" > <forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" > </forms> </authentication> <!-- This section denies access to all files in this application except for those that you have not explicitly specified by using another setting. --> <authorization> <deny users="?" /> </authorization> </system.web> <!-- This section gives the unauthenticated user access to the ThePageThatUnauthenticatedUsersCanVisit.aspx page only. It is located in the same folder as this configuration file. --> <location path="ThePageThatUnauthenticatedUsersCanVisit.aspx"> <system.web> <authorization> <allow users ="*" /> </authorization> </system.web> </location> <!-- This section gives the unauthenticated user access to all of the files that are stored in the TheDirectoryThatUnauthenticatedUsersCanVisit folder. --> <location path="TheDirectoryThatUnauthenticatedUsersCanVisit"> <system.web> <authorization> <allow users ="*" /> </authorization> </system.web> </location> </configuration>


Pon lo siguiente en tu web.config:

<location path="special.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location>


Permitir que todos accedan a una página en particular

En ocasiones, desea permitir el acceso público a alguna página y desea restringir el acceso al resto del sitio solo a usuarios autenticados / registrados. Es decir, no permite el acceso anónimo. Supongamos que su special.aspx está en la carpeta raíz de su sitio. En el archivo web.config de la carpeta raíz de su sitio web, debe tener la siguiente configuración.

<configuration> <system.web> <authentication mode="Forms"/> <authorization> <deny users="?"/> //this will restrict anonymous user access </authorization> </system.web> <location path="special.aspx"> //path here is path to your special.aspx page <system.web> <authorization> <allow users="*"/> // this will allow access to everyone to special.aspx </authorization> </system.web> </location> </configuration>