Fügen Sie die Ansprüche nach dem erfolgreichen login und rufen Sie es an anderer Stelle in der Anwendung

Bitte ich brauche Hilfe bei der Durchführung einer benutzerdefinierten Art und Weise der Zuordnung von Forderungen zu authentifizierten Benutzern werden.
Auf dem erfolgreichen login,

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                //Get the user
                ApplicationUser user = UserManager.FindByEmail(model.Email);
                //Ends here
                ClaimsIdentity identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
                AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true }, identity);

Ich die userId zu Holen, die Rolle und andere Informationen über den Benutzer aus dem datastore. Danach muss ich hinzufügen Forderungen, über die Benutzer mit diesen Informationen wie E-Mail, Rolle, Vorname, Nachname, Geschlecht, etc. vor der Umleitung der Benutzer-dashboard.
Dies ist die Art, wie ich versuche, es zu tun, aber das problem ist, dass selbst nach dem hinzufügen der Ansprüche an die login-Methode, ich bin nicht in der Lage, um es abzurufen am _loginPartial razor view

Zum Beispiel, wenn ich wollen, um den E-Mail-Streitwert bei der Anmeldung teilweise, wie dies

var claims = ClaimsPrincipal.Current.Claims;
    var principal = (ClaimsPrincipal)Thread.CurrentPrincipal;
    var email = principal.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).SingleOrDefault();

Gibt Sie null zurück.

So, als Ergebnis, kann ich nur Zugriff auf die gleichen login-Methode nach dem hinzufügen aber ich muss in der Lage sein, um es von überall aus zugreifen in der Anwendung.
Bitte ich werde es begrüßen jede Hilfe, wie Sie abgerufen werden können diese Forderungen nirgendwo sonst in der gesamten Anwendung.

Danke.

Sind Sie mit Entity Framework. wenn ja, dann ist es version bitte.
Ja. EF 6. Vs 2015. ASP.NET MVC
die Identität version verwenden Sie
Identität-version ist 2.2.1

InformationsquelleAutor Josh | 2016-02-02

Schreibe einen Kommentar