Preciso controlar o acesso às visualizações com base nos níveis de privilégio dos usuários (não há funções, apenas níveis de privilégio para os níveis de operação CRUD atribuídos aos usuários) no meu aplicativo MVC 4.
Como um exemplo; abaixo do AuthorizeUser será meu atributo personalizado e preciso usá-lo assim:
[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();
}
É possível fazer dessa maneira?
.Name.ToString()
é redundante, já que aName
propriedade já é stringAqui está uma modificação para o anterior. responda. A principal diferença é que, quando o usuário não é autenticado, ele usa o método "HandleUnauthorizedRequest" original para redirecionar para a página de login:
fonte
Talvez isso seja útil para qualquer pessoa no futuro, eu implementei um Atributo de Autorização personalizado como este:
fonte
Se você usa a API WEB com declarações, pode usar o seguinte:
fonte