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>
<location path="register.aspx"> //path here is path to your register.aspx page
<system.web>
<authorization>
<allow users="*"/> // this will allow access to everyone to register.aspx
</authorization>
</system.web>
</location>
Para más detalles, siga el enlace a continuación