2016-01-22 9 views

Antwort

3

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

Sie kann eine oder mehrere Identitäten enthalten und ermöglicht es der Anwendung, über die Methode IsInRole zu überprüfen, ob der Prinzipal in einer Rolle ist.

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 Prinzipien haben, da sie Anfragen von verschiedenen Benutzern Handhabung werden können (in ASP.NET Web-Anwendungen HttpContext.User in Thread.CurrentPrincipal für jede neue Anforderung kopiert wird)

Da .NET 4.5, alle Hauptklassen ergeben sich aus ClaimsPrincipal, Aktivierung der anspruchsbasierten Authentifizierung.

UPDATE: Dies ist, was ein Windows wie auf meiner Dev-Box aussieht: enter image description here

+0

Angenommen, wenn ein Benutzer in die Anwendung angemeldet ist Windows-Authentifizierung verwenden. Wie können wir das Thread.CurrentPrincipal darstellen? Was alles sind Eigenschaften, die es enthält. – user1844634

+0

Der Thread.CurrentPrincipal wird mit einem WindowsPrincipal-Objekt gefüllt. Es enthält unter anderem Ansprüche wie die UPN und Gruppen, denen der Auftraggeber angehört. – MvdD

+0

Könnten Sie bitte etwas mehr bitte – user1844634