Je dois contrôler l'accès aux vues en fonction des niveaux de privilège des utilisateurs (il n'y a pas de rôles, uniquement des niveaux de privilège pour les niveaux de fonctionnement CRUD attribués aux utilisateurs) dans mon application MVC 4.
Par exemple; sous AuthorizeUser sera mon attribut personnalisé et je dois l'utiliser comme ceci:
[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();
}
Est-il possible de le faire de cette façon?
.Name.ToString()
est redondant, car laName
propriété est déjà une chaîneVoici une modification pour le précédent. répondre. La principale différence est que lorsque l'utilisateur n'est pas authentifié, il utilise la méthode originale "HandleUnauthorizedRequest" pour rediriger vers la page de connexion:
la source
Peut-être que cela est utile à n'importe qui à l'avenir, j'ai implémenté un attribut d'autorisation personnalisé comme celui-ci:
la source
Si vous utilisez l'API WEB avec des revendications, vous pouvez utiliser ceci:
la source