ClientRolePrincipal.IsInRole(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une valeur indiquant si l'utilisateur représenté par le ClientRolePrincipal figure dans le rôle spécifié.
public:
virtual bool IsInRole(System::String ^ role);
public bool IsInRole (string role);
abstract member IsInRole : string -> bool
override this.IsInRole : string -> bool
Public Function IsInRole (role As String) As Boolean
Paramètres
- role
- String
Le rôle à vérifier.
Retours
true
si l'utilisateur est dans le rôle spécifié ; false
si l'utilisateur n'est pas dans le rôle spécifié ou n'est pas authentifié.
Implémente
Exemples
L’exemple de code suivant montre comment utiliser cette méthode pour afficher un bouton uniquement lorsque l’utilisateur est dans le rôle « gestionnaire ». Cet exemple nécessite un Button nommé managerOnlyButton
avec une valeur de propriété initiale Visible de false
.
private void DisplayButtonForManagerRole()
{
try
{
ClientRolePrincipal rolePrincipal =
System.Threading.Thread.CurrentPrincipal
as ClientRolePrincipal;
if (rolePrincipal != null && rolePrincipal.IsInRole("manager"))
{
managerOnlyButton.Visible = true;
}
}
catch (System.Net.WebException)
{
MessageBox.Show("Unable to access the roles service.",
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
Private Sub DisplayButtonForManagerRole()
Try
Dim rolePrincipal As ClientRolePrincipal = TryCast( _
System.Threading.Thread.CurrentPrincipal, ClientRolePrincipal)
If rolePrincipal IsNot Nothing And _
rolePrincipal.IsInRole("manager") Then
managerOnlyButton.Visible = True
End If
Catch ex As System.Net.WebException
MessageBox.Show("Unable to access the role service.", _
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
Remarques
Normalement, vous appelez la IsInRole méthode du IPrincipal retourné par la static
Thread.CurrentPrincipal propriété . Toutefois, vous pouvez convertir la valeur de la CurrentPrincipal propriété en référence ClientRolePrincipal pour appeler cette méthode explicitement, comme illustré dans la section Exemple.
La méthode IsInRole retourne toujours la valeur false
si la connexion de l'utilisateur a expiré. Cela ne se produit pas si votre application appelle la méthode une fois peu après l’authentification IsInRole . Si votre application doit récupérer des rôles d'utilisateur à d'autres moments, vous souhaitez peut-être ajouter du code pour revalider les utilisateurs dont la connexion a expiré. Si des rôles sont attribués à tous les utilisateurs valides, vous pouvez déterminer si la connexion a expiré en appelant la méthode ClientRoleProvider.GetRolesForUser . Si aucun rôle n'est retourné, la connexion a expiré. Pour obtenir un exemple de cette fonctionnalité, consultez la méthode GetRolesForUser . Cette fonctionnalité n’est requise que si vous avez sélectionné l’option Imposer aux utilisateurs de se reconnecter chaque fois que le cookie du serveur expire dans la configuration de votre application.
S’applique à
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour