MVC сохранить токен в сессии

Я звоню в службу, и мне нужно передавать постоянный маркер безопасности пользователя при каждом запросе.

Для этого я добавил этот метод в свой базовый класс контроллера:

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

Эта проблема заключается в том, что иногда данные User.Identity превышают данные сеанса, вызывая странные ошибки, когда пользователь видит, что он вошел в систему, но затем его запросы не выполняются.

Есть ли лучший способ сохранить этот токен / можно ли сохранить его таким образом, чтобы он истекал всякий раз, когда истекает срок действия объекта User.Identity?

Кроме того, если кто-нибудь знает несколько хороших базовых примеров понимания / документации для HttpContext и MVC, разрешите фильтры, что было бы замечательно.

Ответы на вопрос(4)

Ваш ответ на вопрос