2017-10-03 2 views
0

Ceci est mon premier projet ASP.NET et je dois utiliser MVC 5 et Identity 2.1 pour ce projet. J'ai cherché des informations sur l'utilisation d'Identity 2.1 aux fins d'authentification et d'autorisation, mais je suis toujours confus parce qu'aucun article ne l'a expliqué avec des détails complets et ils avaient besoin de vous familiariser avec les anciennes versions et les nouveaux articles sont tous à propos de ASP.NET Core MVC.Utilisation de l'identité 2.1 dans ASP.NET pour l'authentification et l'autorisation des utilisateurs

laisse supposer i ai une table de fruits avec 3 colonnes:

id = 1, nom = pomme, quantité = 4;

id = 2, nom = orange, quantité = 2;

id = 3, nom = banane, quantité = 3;

. . .

Et certains utilisateurs admin peuvent ajouter d'autres types de fruits à la liste.

Et aussi l'utilisateur admin peut créer d'autres comptes d'utilisateur et leur donner la permission d'afficher ou de modifier un ou plusieurs enregistrements de fruits.

Comme userid1 peut voir la quantité de pomme, ou userid2 peut voir et modifier la quantité d'orange.

Ma question est comment puis-je mettre en œuvre ce scénario avec Identity 2.1? Puis-je l'implémenter avec des rôles et des réclamations? Si oui, veuillez me fournir un exemple de code.

Merci, et désolé pour mon mauvais anglais.

+1

http://bitoftech.net/2015/03/11/asp-net-identity-2-1-roles-based-authorization-authentication-asp-net-web-api/ –

Répondre

1

Vous ne pouvez probablement pas obtenir tous vos besoins hors de la boîte, mais vous pouvez étendre les classes de base pour atteindre votre objectif. Voici mes pensées, vous pouvez avoir des rôles d'administration et de base, vous aurez besoin d'une table principale de type fruit, et un type de fruit - table de privilège d'utilisateur ID. Dans votre classe d'autorisation étendue, vous devez vérifier si un utilisateur de base peut accéder à certains types de fruits et quel type de privilège il a.

+0

Nous vous remercions de votre réponse, peut-être que j'ai posé ma question pas spécifique. Mon problème est dans cette partie de votre réponse "Dans votre classe d'autorisation étendue, vous devez vérifier si un utilisateur de base peut accéder à certains types de fruits et quel type de privilège il a." comment puis-je mettre en œuvre cela? je veux dire dois-je vérifier les privilèges dans Controller/Action? ou quelque part avant que ma demande atteigne la méthode d'action? – Qubit

+0

Voulez-vous dire par "classe d'autorisation étendue" que je crée une classe héritée à partir de la classe AuthorizationAttribute et que j'y vérifie les privilèges? – Qubit

+1

vous êtes les bienvenus, Qubit. Je dirais que ce sera une décision de conception. Cela dépend de la façon dont le type de fruit est la référence dans votre projet. Par soucis de coupe croisée, il sera bon d'avoir toutes les vérifications de sécurité dans la classe d'attribut d'autorisation étendue, mais si un seul contrôleur implique avec le type de fruit, je peux mettre la vérification dans le niveau du contrôleur. juste mes deux cents. –