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 l'ClientRolePrincipal se trouve 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
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 se trouve dans le rôle « gestionnaire ». Cet exemple nécessite un Button nommé managerOnlyButton
avec une valeur de propriété de Visible initiale 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 méthode IsInRole de l'IPrincipal retournée par la propriété static
Thread.CurrentPrincipal. Toutefois, vous pouvez convertir la valeur de propriété CurrentPrincipal en référence ClientRolePrincipal pour appeler cette méthode explicitement, comme illustré dans la section Exemple.
La méthode IsInRole retourne toujours false
si la connexion de l’utilisateur a expiré. Cela ne se produit pas si votre application appelle la méthode IsInRole une fois peu après l’authentification. Si votre application doit récupérer des rôles d’utilisateur à d’autres moments, vous pouvez ajouter du code pour revalider les utilisateurs dont la connexion a expiré. Si tous les utilisateurs valides sont affectés à des rôles, 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 nécessaire que si vous avez sélectionné Exiger que les utilisateurs se reconnectent chaque fois que le cookie du serveur expire dans la configuration de votre application.
S’applique à
Voir aussi
- GetRolesForUser(String)
- IPrincipal
- IsInRole(String)
- CurrentPrincipal
- des services d’applications clientes
- Comment : configurer les services d’application cliente