ClientRolePrincipal.IsInRole(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy użytkownik reprezentowany przez element ClientRolePrincipal znajduje się w określonej roli.
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
Parametry
- role
- String
Rola do sprawdzenia.
Zwraca
true jeśli użytkownik znajduje się w określonej roli; false jeśli użytkownik nie znajduje się w określonej roli lub nie jest uwierzytelniony.
Implementuje
Przykłady
Poniższy przykładowy kod pokazuje, jak za pomocą tej metody wyświetlić przycisk tylko wtedy, gdy użytkownik znajduje się w roli "menedżer". Ten przykład wymaga Button nazwy managerOnlyButton z początkową Visible wartością falsewłaściwości .
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
Uwagi
Zwykle metoda zwracana przez właściwość jest wywoływana IsInRole static IPrincipal Thread.CurrentPrincipal. Można jednak rzutować CurrentPrincipal wartość właściwości na ClientRolePrincipal odwołanie, aby jawnie wywołać tę metodę, jak pokazano w sekcji Przykład.
Metoda IsInRole będzie zawsze zwracana false , jeśli logowanie użytkownika wygasło. Nie będzie to miało miejsca, jeśli aplikacja wywołuje metodę IsInRole jednorazowo po uwierzytelnieniu. Jeśli aplikacja musi pobierać role użytkowników w innym czasie, może być konieczne dodanie kodu w celu ponownego stosowania użytkowników, których logowanie wygasło. Jeśli wszyscy prawidłowi użytkownicy są przypisani do ról, możesz określić, czy logowanie wygasło, wywołując metodę ClientRoleProvider.GetRolesForUser . Jeśli nie zostaną zwrócone żadne role, logowanie wygasło. Aby zapoznać się z przykładem tej funkcji, zobacz metodę GetRolesForUser . Ta funkcja jest niezbędna tylko wtedy, gdy w konfiguracji aplikacji wybrano opcję Wymagaj od użytkowników ponownego logowania się za każdym razem, gdy plik cookie serwera wygaśnie . Aby uzyskać więcej informacji, zobacz How to: Configure Client Application Services (Instrukcje: konfigurowanie usług aplikacji klienckich).