Tengo una aplicación MVC con el siguiente bloque en el interior de Web.config:C# MVC: ¿Cómo anular la redirección de autenticación configurada?
<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="2880" />
</authentication>
lo tanto, si un usuario solicita una página y no la autorización, que serán redirigidos a ~/Inicio de sesión.
Eso está bien, y lo necesito para la mayoría de mis controladores. Sin embargo, tengo un controlador con el que me gustaría pasar esta regla. ¿Cómo puedo permitir que los controladores específicos ignoren esta regla?
Mi problema es que en mi aplicación MVC (que tiene varios controladores), tengo un controlador determinado que aloja una interfaz REST (no para uso del navegador). Como este controlador no es para consumo de navegador, no quiero que devuelva una página de inicio de sesión completa (o cualquier página en realidad, solo cadenas o vistas parciales).
Tenga en cuenta que estoy usando personalización [Autorizar ...] atributos en mis acciones, y cuando ESTAS fallan, redirigen a una acción de Error - pero, desafortunadamente, mi acción de Error (que devuelve una cadena corta) se está redireccionando a la página de inicio de sesión debido a esto configuración de configuración!
Me estoy mareando al tratar de resolver esto, ¿qué estoy haciendo mal? Puedo proporcionar más detalles si es necesario.
¿Está heredando de AuthorizeAttribute o implementating IAuthorizationFilter –
Heredar de AuthorizeAttribute. –