ClientRolePrincipal.IsInRole(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob der durch ClientRolePrincipal dargestellte Benutzer die angegebene Rolle innehat.
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
Parameter
- role
- String
Die zu überprüfende Rolle.
Gibt zurück
true
, wenn der Benutzer die angegebene Rolle aufweist; false
, wenn der Benutzer die angegebene Rolle nicht aufweist oder nicht authentifiziert wurde.
Implementiert
Beispiele
Der folgende Beispielcode veranschaulicht, wie Sie diese Methode verwenden, um eine Schaltfläche nur dann anzuzeigen, wenn sich der Benutzer in der Rolle "Manager" befindet. In diesem Beispiel ist ein Button benannter managerOnlyButton
mit dem anfänglichen Visible Eigenschaftswert erforderlich 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
Hinweise
Normalerweise rufen Sie die Methode des IPrincipal von der -Eigenschaft zurückgegebenen aufstatic
Thread.CurrentPrincipal.IsInRole Sie können den CurrentPrincipal Eigenschaftswert jedoch in einen ClientRolePrincipal Verweis umwandeln, um diese Methode explizit aufzurufen, wie im Abschnitt Beispiel veranschaulicht.
Die IsInRole Methode gibt stets false
aus, wenn die Benutzeranmeldung abgelaufen ist. Dies tritt nicht auf, wenn Ihre Anwendung die Methode einmal kurz nach der IsInRole Authentifizierung aufruft. Wenn Ihre Anwendung Benutzerrollen zu anderen Zeiten abrufen muss, empfiehlt es sich, Code hinzufügen, um Benutzer, deren Anmeldung abgelaufen ist, erneut zu überprüfen. Wenn allen gültigen Benutzern Rollen zugewiesen sind, können Sie bestimmen, ob die Anmeldung, abgelaufen ist, in dem Sie die ClientRoleProvider.GetRolesForUser -Methode aufrufen. Wenn keine Rollen ausgegeben, ist die Anmeldung abgelaufen. Ein Beispiel für diese Funktion finden Sie unter der GetRolesForUser -Methode. Diese Funktion ist nur erforderlich, wenn Sie die Option Verlangen, dass sich der Benutzer bei Ablauf des Cookies erneut anmelden in der Anwendungskonfiguration ausgewählt haben.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für