Necesito controlar el acceso a las vistas según los niveles de privilegios de los usuarios (no hay roles, solo niveles de privilegios para los niveles de operación CRUD asignados a los usuarios) en mi aplicación MVC 4.
Como ejemplo; debajo de AuthorizeUser será mi atributo personalizado y necesito usarlo así:
[AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")]
public ActionResult UpdateInvoice(int invoiceId)
{
// some code...
return View();
}
[AuthorizeUser(AccessLevels="Create Invoice")]
public ActionResult CreateNewInvoice()
{
// some code...
return View();
}
[AuthorizeUser(AccessLevels="Delete Invoice")]
public ActionResult DeleteInvoice(int invoiceId)
{
// some code...
return View();
}
¿Es posible hacerlo de esta manera?
.Name.ToString()
es redundante, ya que laName
propiedad ya es una cadenaAquí hay una modificación de la anterior. responder. La principal diferencia es que cuando el usuario no está autenticado, utiliza el método original "HandleUnauthorizedRequest" para redirigir a la página de inicio de sesión:
fuente
Tal vez esto sea útil para cualquiera en el futuro, he implementado un atributo de autorización personalizado como este:
fuente
Si usa la API WEB con reclamos, puede usar esto:
fuente