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 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 używać tej metody do wyświetlania przycisku tylko wtedy, gdy użytkownik znajduje się w roli "menedżer". Ten przykład wymaga Button o nazwie managerOnlyButton
z początkową wartością właściwości Visiblefalse
.
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 wywołasz metodę IsInRoleIPrincipal zwróconą przez właściwość static
Thread.CurrentPrincipal. Można jednak rzutować wartość właściwości CurrentPrincipal na odwołanie ClientRolePrincipal w celu jawnego wywołania tej metody, jak pokazano w sekcji Przykład.
Metoda IsInRole zawsze zwraca false
, jeśli logowanie użytkownika wygasło. Nie będzie to występować, jeśli aplikacja wywołuje metodę IsInRole raz krótko 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 wymagana tylko wtedy, gdy wybrano opcję Wymagaj od użytkowników ponownego logowania się za każdym razem, gdy plik cookie serwera wygaśnie w konfiguracji aplikacji.
Dotyczy
Zobacz też
- GetRolesForUser(String)
- IPrincipal
- IsInRole(String)
- CurrentPrincipal
- usług aplikacji klienckich
- Instrukcje: konfigurowanie usług aplikacji klienckich