MVC zapisuje token w sesji

Dzwonię do usługi i muszę przekazać stały token bezpieczeństwa użytkownika przy każdym żądaniu.

W tym celu dodałem tę metodę do mojej podstawowej klasy kontrolera:

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");
        }
    }

Ten problem polega na tym, że czasami dane User.Identity przewyższają dane sesji, powodując dziwne błędy użytkownika, który widzi, że są zalogowani, ale potem ich żądania nie powiodły się.

Czy istnieje lepszy sposób przechowywania tego tokena / czy mogę go przechowywać w taki sposób, aby wygasł, gdy wygasa obiekt User.Identity?

Ponadto, jeśli ktoś wie o pewnych dobrych podstawach, przykłady / dokumentacja dla HttpContext i MVC autoryzują filtry, które byłyby świetne.

questionAnswers(4)

yourAnswerToTheQuestion