133 personnes sur 153 ont trouvé cela utile Lorsqu’une identité est créée, elle peut appartenir à un ou plusieurs rôles ; par exemple, Tracy peut appartenir aux rôles Administrateur et Utilisateur tandis que Scott peut n’appartenir qu’au rôle utilisateur. La manière dont ces rôles sont créés et gérés dépend du support du processus d’autorisation. Les rôles sont exposés au développeur via la propriété IsInRole sur la classe ClaimsPrincipal.
La nouvelle identité peut appartenir à un ou plusieurs rôles, par exemple, Tracy peut appartenir aux rôles Administrateur et Utilisateur, tandis que Scott peut appartenir uniquement au rôle Utilisateur. La manière dont ces rôles sont créés et gérés dépend de la manière dont le processus d’autorisation est stocké. La méthode IsInRole de la classe ClaimsPrincipal fournit aux développeurs comment utiliser ce rôle.
Ajout de vérifications de rôle Ajout de validation de rôle
Les vérifications d’autorisation basées sur les rôles sont déclaratives – le développeur les intègre dans son code, contre un contrôleur ou une action au sein d’un contrôleur, en spécifiant des rôles que l’utilisateur actuel doit remplir Soyez membre de pour accéder à la ressource demandée.
L’authentification basée sur les rôles est basée sur la revendication, que les développeurs intègrent dans leur code, attribuant des rôles à un contrôleur ou à des méthodes qui le composent, spécifiant que les utilisateurs d’une requête doivent remplir les exigences d’adhésion correspondantes.
Par exemple, le code suivant limiterait l’accès à toute action sur l’AdministrationController aux utilisateurs membres du groupe Administrateurs.
Par exemple, le code suivant restreint toute méthode dans l’AdministrationController pour qu’elle ne soit utilisée que par le fait d’être membre du groupe Administrateurs.
Vous pouvez spécifier plusieurs rôles comme une liste séparée par des virgules ;
Vous pouvez ajouter plusieurs rôles assignés à une liste divisée par virgules :
Ce contrôleur ne serait accessible que par les utilisateurs membres du rôle HRManager ou du rôle Finance.
Le contrôleur ne sera accessible qu’aux membres du poste RHManager ou du poste Finance.
Si vous appliquez plusieurs attributs, alors un utilisateur accédant doit être membre de tous les rôles spécifiés ; l’exemple suivant exige qu’un utilisateur soit membre à la fois des rôles PowerUser et ControlPanelUser.
Si vous utilisez plusieurs attributs, l’utilisateur d’accès doit être membre de tous les rôles ; L’exemple suivant exige qu’un utilisateur soit membre à la fois des rôles PowerUser et ControlPanelUser.
Vous pouvez encore limiter l’accès en appliquant des attributs d’autorisation de rôle supplémentaires au niveau de l’action ;
Vous pouvez utiliser des attributs d’autorisation de rôle supplémentaires au niveau de la méthode pour appliquer des restrictions d’utilisation supplémentaires ;
Dans le précédent extrait de code, les membres du rôle Administrateur ou du rôle PowerUser peuvent accéder au contrôleur et à l’action SetTime, mais seuls les membres du rôle Administrateur peuvent accéder à la Action ShutDown.
Dans le précédent extrait de code, les membres des rôles Administrateur ou PowerUser peuvent utiliser les méthodes contrôleur et SetTime, mais seuls les membres du rôle Administrateur peuvent utiliser la méthode ShutDown.
Vous pouvez aussi verrouiller une manette mais autoriser un accès anonyme et non authentifié aux actions individuelles.
Vous pouvez aussi bloquer un contrôleur, mais permettre aux utilisateurs anonymes d’utiliser des méthodes séparées sans autorisation.
Vérifications de rôle basées sur des politiques Vérifications de rôle basées sur des politiques
Les exigences de rôle peuvent également être exprimées à l’aide de la nouvelle syntaxe de la politique, où un développeur enregistre une politique au démarrage dans le cadre de la configuration du service d’autorisation. Cela s’applique normalement à ConfigureServices() dans votre fichier Startup.cs.
Les rôles peuvent également être réalisés en utilisant une nouvelle syntaxe de politique, où les développeurs enregistrent une politique dans la configuration du service d’autorisation au démarrage. Cela est généralement ajouté à Sartup.csConfigureServices().
Les politiques sont appliquées en utilisant la propriété Politique sur l’attribut AuthorizeAttribute ;
Implémentez la politique en utilisant la propriété Politique au-dessus de la propriété AuthorizeAttribute.
Si vous souhaitez spécifier plusieurs rôles autorisés dans une exigence, vous pouvez les spécifier comme paramètres de la méthode ExigeRole ;
Si vous souhaitez spécifier plusieurs rôles dans une requête, vous pouvez les spécifier comme plusieurs paramètres de la méthode RequireRole :
son exemple autorise les utilisateurs appartenant aux rôles Administrateur, PowerUser ou Administrateur de sauvegarde.
L’utilisateur autorisé dans cet exemple appartiendra aux rôles Administrateur, Utilisateur Puissant ou Administrateur de sauvegarde.
Transféré depuis :La connexion hyperlientérée est visible. |