2016-01-22 24 views

Odpowiedz

3

Thread.CurrentPrincipal to sposób, w jaki aplikacje .NET reprezentują tożsamość konta użytkownika lub usługi obsługującego proces.

Może zawierać jedną lub więcej tożsamości i umożliwia aplikacji sprawdzenie, czy zleceniodawca odgrywa rolę poprzez metodę IsInRole.

Większość bibliotek uwierzytelniania w .NET sprawdza referencje użytkownika i ustawia tę właściwość statyczną w klasie Thread na nowy obiekt główny.

Różne wątki mogą mieć różne zleceniodawców, ponieważ mogą one być obsługi żądań od różnych użytkowników (w aplikacjach internetowych ASP.NET HttpContext.User jest kopiowany do Thread.CurrentPrincipal dla każdego nowego wniosku)

Od .NET 4.5, wszystkie główne klasy wywodzą się z ClaimsPrincipal, umożliwia uwierzytelnianie oparte na roszczeniach.

UPDATE: To co WindowsPrincipal wygląda na moim komputerze dev: enter image description here

+0

Załóżmy, że jeśli użytkownik jest zalogowany do aplikacji przy użyciu uwierzytelniania systemu Windows. jak możemy reprezentować Thread.CurrentPrincipal. Jakie są wszystkie właściwości, które zawiera. – user1844634

+0

W Thread.CurrentPrincipal zostanie wypełniony obiekt WindowsPrincipal. Zawiera między innymi roszczenia takie jak UPN i grupy, których głównym jest członek. – MvdD

+0

Czy mógłbyś trochę bardziej rozwinąć? – user1844634