MVC speichert ein Token in der Sitzung

Ich rufe einen Dienst an und muss das permanente Sicherheitstoken des Benutzers bei jeder von mir gestellten Anfrage weitergeben.

Zu diesem Zweck habe ich meiner Basis-Controller-Klasse die folgende Methode hinzugefügt:

protected UserData getUsr()
{
        try
        {
            UserData usr = new UserData();
            usr.SecurityToken = Session["secToken"].ToString();

            MembershipUser mvcUser = Membership.GetUser(HttpContext.User.Identity.Name);
            usr.Id = (int)mvcUser.ProviderUserKey;

            return usr;
        }
        catch (Exception ex)
        {
            log.Debug("Could not create usr object", ex);
            throw new Exception("Could not authenticate");
        }
    }

Das Problem hier ist, dass manchmal die User.Identity-Daten die Sitzungsdaten übersteigen, was zu seltsamen Fehlern führt, bei denen der Benutzer sieht, dass er angemeldet ist, die Anforderungen jedoch fehlschlagen.

Gibt es eine bessere Möglichkeit, dieses Token zu speichern? Kann ich es so speichern, dass es verfällt, wenn das User.Identity-Objekt verfällt?

Auch wenn jemand einige gute grundlegende Verständnisbeispiele / Dokumentationen für HttpContext und MVC kennt, autorisieren Sie Filter, die großartig wären.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage