En su mayor parte, mi aplicación requiere autenticación para hacer cualquier cosa. Hay algunas páginas, a saber, la página de inicio, a las que me gustaría que las personas puedan acceder sin autenticarse.¿Cómo otorgo acceso anónimo a una url usando FormsAuthentication?
En concreto, me gustaría permitir el acceso anónimo a estas direcciones:
/home
/default.aspx
estoy usando MVC asp.net y FormsAuthentication. Ambas URL apuntan a la misma vista:
/home/index.aspx
Aquí está mi configuración actual en web.config.
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
La lectura de la documentación de la etiqueta de la autorización, que dice "Configura la autorización para una aplicación web, el control de acceso de los clientes a los recursos de URL." Parece que debería poder usar la etiqueta de autorización para especificar una url y permitir el acceso.
Algo así como:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<authorization url="/default.aspx">
<allow users="?" />
</authorization>
<authorization url="/home">
<allow users="?" />
</authorization>
Por qué la modestia y el CW? Si termina respondiendo su propia pregunta y publicando la solución, no solo se está ayudando a sí mismo, sino a otros. Sé orgulloso y toma el cheque. Gracias por participar. –
Realmente luché con esto por alrededor de 3 horas ayer después de buscar en Google múltiples respuestas plausibles. Fue el orden lo que pareció marcar la diferencia y muchas gracias por destacar eso. Gracias por publicar. – nealkernohan
En MVC 4 solo necesita permitir al usuario el controlador que desea. No es necesario agregar un acceso especial a los estilos/scripts/etc. carpetas como eso ya está hecho. También mueva el contenido de la anulación que tiene en su lugar al nodo principal system.web. –