Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieser Artikel bezieht sich auf Windows.
Informationen zu ASP.NET Core finden Sie unter ASP.NET Core Security.
Es gibt zwei Möglichkeiten zum Erstellen eines WindowsPrincipal Objekts, je nachdem, ob Code wiederholt eine rollenbasierte Überprüfung durchführen muss oder nur einmal ausgeführt werden muss.
Wenn Code wiederholt eine rollenbasierte Überprüfung durchführen muss, erzeugt der erste der folgenden Prozeduren weniger Aufwand. Wenn Code nur einmal rollenbasierte Überprüfungen vornehmen muss, können Sie ein WindowsPrincipal Objekt mithilfe der zweiten der folgenden Verfahren erstellen.
So erstellen Sie ein WindowsPrincipal-Objekt für wiederholte Überprüfung
Rufen Sie die SetPrincipalPolicy Methode für das AppDomain Objekt auf, das von der statischen AppDomain.CurrentDomain Eigenschaft zurückgegeben wird, und übergeben Sie die Methode einen PrincipalPolicy Enumerationswert, der angibt, was die neue Richtlinie sein soll. Unterstützte Werte sind NoPrincipal, UnauthenticatedPrincipal und WindowsPrincipal. Der folgende Code veranschaulicht diesen Methodenaufruf.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)Verwenden Sie mit dem Richtliniensatz die statische Thread.CurrentPrincipal Eigenschaft, um den Prinzipal abzurufen, der den aktuellen Windows-Benutzer kapselt. Da der Rückgabetyp der Eigenschaft lautet IPrincipal, müssen Sie das Ergebnis in einen WindowsPrincipal Typ umwandeln. Der folgende Code initialisiert ein neues WindowsPrincipal Objekt auf den Wert des Prinzipals, der dem aktuellen Thread zugeordnet ist.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)Wenn das Prinzipalobjekt erstellt wurde, können Sie eine von mehreren Methoden verwenden, um es zu überprüfen.
So erstellen Sie ein WindowsPrincipal-Objekt für eine einzelne Überprüfung
Initialisieren Sie ein neues WindowsIdentity Objekt, indem Sie die statische WindowsIdentity.GetCurrent Methode aufrufen, die das aktuelle Windows-Konto abfragt und Informationen zu diesem Konto in das neu erstellte Identitätsobjekt eingibt. Der folgende Code erstellt ein neues WindowsIdentity Objekt und initialisiert es für den aktuellen authentifizierten Benutzer.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()Erstellen Sie ein neues WindowsPrincipal-Objekt und übergeben Sie ihm den Wert des WindowsIdentity-Objekts, das im vorherigen Schritt erstellt wurde.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);Dim myPrincipal As New WindowsPrincipal(myIdentity)Wenn das Prinzipalobjekt erstellt wurde, können Sie eine von mehreren Methoden verwenden, um es zu überprüfen.