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, разрешите фильтры, что было бы замечательно.