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?
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:
Tags und Links asp.net security c#-4.0 iprincipal iidentity