La mise en œuvre de rôle basé sur l'autorisation de les utiliser .NET MVC 5

Je souhaite la mise en place d'une autorisation basée sur les rôles dans mon application web que je suis en train de construire. La façon dont je l'imaginais à faire c'est de créer 3 tables dans ma DB comme suit:

1. Roles
2. UserRoles (many to many table)
3. Users 

Après que chaque utilisateur a un rôle qui lui est assigné. Maintenant... Ma question est, Comment puis-je autoriser ou interdire l'accès à certains points de vue et les contrôleurs à l'intérieur de mon .NET MVC de l'application. Je suis tombée sur ceci:

[Authorize(Roles = "HrAdmin, CanEnterPayroll")]
[HttpPost]
public ActionResult EnterPayroll(string id)
{
    // . . . Enter some payroll . . . 
}

L'Autoriser propriété semble être un facteur limitant spécifiques contrôleurs/actions à des rôles spécifiques... Mais si j'ai lu les rôles d'utilisateur à partir de la table UserRoles comme dans mon cas?? Comment est mon application va savoir quel est le rôle de l'Utilisateur sur le système ??

Quelqu'un peut-il m'aider à sortir avec cette ?

Avez-vous vérifié ASP.NET Identité?
Vous avez besoin d'ajouter des Revendications avec vos rôles dans votre Login() méthode.
Le ci-dessus est déjà mis en œuvre dans le cadre de l'Identité construite dans MVC5. Vous n'avez pas besoin de s'inquiéter à propos de la création de ces tables par vous-même, juste modifier la chaîne de connexion par défaut et de le pointer sur un serveur.
aha donc en gros je doit ajouter les rôles dans ces Revendications lors de la connexion de l'utilisateur et ensuite faire Autoriser[...] sur mon contrôleurs/actions ?? 🙂
yeap, c'est à peu près tout ce que vous devez faire.

OriginalL'auteur User987 | 2016-10-27