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ą false
wł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 IsInRolestatic
IPrincipalThread.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 .
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla