FormsAuthentication Скользящий срок действия
У меня есть MVC 5
приложение, которое использует FormsAuthentication. На FormsAuthentication_OnAuthenticate()
Функция, событие Я создаю новый GenericIdentity с текущими правами для пользователя.
protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e)
{
if (FormsAuthentication.CookiesSupported)
{
var userInfo = AuthenticationHelper.GetUserInfo(Request.Cookies);
if (userInfo != null)
{
e.User = new GenericPrincipal(new GenericIdentity(userInfo.Username,"Forms"),userInfo.RightsStrings);
}
}
}
Конфигурация для проверки подлинности Forms:
<authentication mode="Forms">
<forms timeout="2" loginUrl="~/Home/Login" slidingExpiration="true" cookieless="UseCookies"></forms>
</authentication>
slidingExpiration
опция не работает, когда я назначаю новый GenericPrincipal. Если я прокомментирую это, скользящее истечение работает, но я не могу использовать [Authorize(Roles = "Role")]
синтаксис.
Как я могу выполнить оба?