Thread.CurrentPrincipal ist authentifiziert, aber "ClaimsPrincipal".Strom ist nicht

Ich bin mit anspruchsbasierte Autorisierung in meinen WebApi-Projekt und habe eine Methode, wo ich prüfe, ob die aktuelle Identität authentifiziert. Wenn ich ClaimsPrincipal.Current die aktuelle Identität ist nicht authentifiziert, aber wenn ich Thread.CurrentPrincipal es ist.

ClaimsPrincipal.Current.Identity.IsAuthenticated; //False
Thread.CurrentPrincipal.Identity.IsAuthenticated; //True

Dies scheint seltsam, vor allem, da die MSDN sagt "ClaimsPrincipal".Aktuelle nur die Renditen Thread.CurrentPrincipal:

Bemerkungen

Standardmäßig Thread.CurrentPrincipal zurückgegeben. Sie können dies ändern
Verhalten durch die Einstellung der ClaimsPrincipalSelector-Eigenschaft zum angeben eines
Delegaten aufgerufen werden, um zu bestimmen, den aktuellen Prinzipal.

Kann jemand bitte erklären Sie mir, warum ClaimsPrincipal ist nicht authentifiziert, während die beiden, in der Theorie, enthalten die gleiche Identität?

"Standardmäßig" impliziert für mich, dass einige andere Verhalten ist möglich - haben Sie entschieden, dass unsere?
Nein, die ClaimsPrincipalSelector null ist, so wird der Standardwert verwendet.

InformationsquelleAutor Jos Vinke | 2013-03-11

Schreibe einen Kommentar