Was ist Thread.CurrentPrincipal und was macht es?

8

Wofür wird Thread.CurrentPrincipal verwendet? Wie hilft es bei der Authentifizierung und Autorisierung einer Anwendung? Gibt es Artikel oder Ressourcen, die erklären, was es tut?

    
user1844634 22.01.2016, 19:36
quelle

1 Antwort

4

Thread.CurrentPrincipal ist die Art, wie .NET-Anwendungen die Identität des Benutzers oder Dienstkontos darstellen, das den Prozess ausführt.

Es kann eine oder mehrere Identitäten enthalten und ermöglicht es der Anwendung, über IsInRole Methode.

Die meisten Authentifizierungsbibliotheken in .NET überprüfen die Anmeldeinformationen des Benutzers und legen diese statische Eigenschaft für die Thread-Klasse auf ein neues Prinzipalobjekt fest.

Verschiedene Threads können unterschiedliche Prinzipale haben, da sie möglicherweise Anfragen von verschiedenen Benutzern bearbeiten (in ASP.NET-Webanwendungen HttpContext.User wird für jede neue Anfrage in Thread.CurrentPrincipal kopiert)

Seit .NET 4.5 leiten sich alle Hauptklassen von ClaimsPrincipal , Aktivierung der anspruchsbasierten Authentifizierung.

UPDATE: So sieht ein WindowsPrincipal auf meiner Entwickler-Box aus:

    
MvdD 23.01.2016 08:28
quelle