Do czego służy Thread.CurrentPrincipal
? W jaki sposób pomaga w uwierzytelnianiu i autoryzacji aplikacji? Czy są jakieś artykuły lub zasoby, które pomagają wyjaśnić, co robi?Co to jest Thread.CurrentPrincipal i co robi?
Odpowiedz
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:
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
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
Czy mógłbyś trochę bardziej rozwinąć? – user1844634