Wie Sie eine benutzerdefinierte "ClaimsPrincipal" in MVC 5?

Erstellte ich eine benutzerdefinierte principal-Klasse

public class FacebookPrincipal : ClaimsPrincipal
{
    public JObject Data { get; set; }
}

Ist und ich es verwenden möchten. Wenn der Benutzer sich anmeldet, ich versuchte, zu

var fbP = new FacebookPrincipal { Data = user.Data };

Thread.CurrentPrincipal = fbP;
AuthenticationManager.User = fbP;
HttpContext.User = fbP;

Es richtig funktioniert nachdem ich es eingestellt, aber wenn ich ho home/index den Wert verloren

var user = HttpContext.GetOwinContext().Authentication.User;
var bbbb = this.User;
var cccc = ClaimsPrincipal.Current;

Alle oben genannten Methoden geben ein Principal des Typs ClaimsPrincipal - und casting auf FacebookPrincipal null zurück.

Wie richte ich eine benutzerdefinierte principal?

Was hat die Aufzählung der Claims - Eigenschaft zurück?
[0] = {http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier: #########} - [1] = {http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name: ####} - [2] = {http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider: ASP.NET Identity}
Hier ist eine Lösung, die ich gepostet auf eine ähnliche Frage: http://stackoverflow.com/a/25731422/264672

InformationsquelleAutor BrunoLM | 2013-11-04

Schreibe einen Kommentar