Tengo un controlador decorado con un AuthorizeAttribute. El controlador contiene varias acciones que requieren autenticación, aparte de una acción que requiere alguna autenticación personalizada proporcionada por CustomAuthorizeAttribute.Overriding controller AuthorizeAttribute para una sola acción
Mi pregunta es cuando agregué [Authorize] en el nivel del controlador ¿puedo anularlo (o eliminarlo) con [CustomAuthorize] en una sola acción? ¿O debo eliminar [Authorize] del nivel del controlador y agregarlo individualmente a cada otra acción?
Estoy pidiendo puramente por conveniencia porque soy flojo y no quiero decorar cada acción con AuthorizeAttribute.
[Authorize]
public class MyController : Controller {
//requires authentication
public ViewResult Admin() {
return View();
}
//... a lot more actions requiring authentication
//requires custom authentication
[CustomAuthorize] //never invoked as already failed at controller level
public ViewResult Home() {
return View();
}
}
En este caso el CustomAuthorizeAttribute proporciona el mismo nivel de acceso, pero se utiliza para compensar un error con flash y así establecer el orden propiedades es suficiente para lograr el resultado deseado. Gracias. –
Al hacer el orden del atributo en la Acción, pude anular el atributo en el Controlador. ¡Voto! –