Cos'è Thread.CurrentPrincipal
utilizzato per? In che modo aiuta nell'autenticazione e autorizzazione di un'applicazione? Ci sono articoli o risorse che aiutano a spiegare cosa fa?Qual è Thread.CurrentPrincipal, e che cosa fa?
risposta
Thread.CurrentPrincipal
è il modo in cui le applicazioni .NET rappresentano l'identità dell'account utente o un servizio che esegue il processo.
Può contenere una o più identità e consente all'applicazione di verificare se il principale è in un ruolo tramite il metodo IsInRole
.
maggior parte delle librerie di autenticazione in .NET verificherà le credenziali dell'utente e impostare questa proprietà statica della classe discussione ad un nuovo oggetto principale.
Diversi fili possono avere diverse identità in quanto possono essere gestendo richieste da utenti diversi (nelle applicazioni Web ASP.NET HttpContext.User
viene copiato in Thread.CurrentPrincipal
per ogni nuova richiesta)
Da NET 4.5, tutte le classi principali derivano da ClaimsPrincipal
, abilitando l'autenticazione basata sulle attestazioni.
UPDATE: Questo è ciò che un WindowsPrincipal assomiglia sulla mia casella di dev:
Supponiamo che se un utente è connesso nell'applicazione utilizzando l'autenticazione di Windows. come possiamo rappresentare il Thread.CurrentPrincipal. Quali sono tutte le proprietà che contiene. Il – user1844634
Thread.CurrentPrincipal sarà popolata con un oggetto WindowsPrincipal. Contiene tra le altre affermazioni cose come l'UPN e i gruppi di cui il principale è membro. – MvdD
U potrebbe elaborare po 'di più per favore – user1844634