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")] синтаксис.

Как я могу выполнить оба?

0 ответов

Другие вопросы по тегам