Тайм-аут игнорируется AspNet Identity и OWIN - PullRequest
0 голосов
/ 30 апреля 2018

Я надеюсь, что кто-то может мне помочь. Мы пишем приложение MVC, используем AspNet Identity и OWIN, и пытаемся установить время ожидания 4 часа. Тем не менее, кажется, что независимо от того, какое время мы установили для тайм-аута сайта через 30 минут, мы перенаправляемся на страницу входа.

Кроме того, это приложение MVC в EpiServer, но механизм использования AspNet Identity и OWIN тот же.

В нашем web.config у нас есть следующие настройки:

<authentication mode="None">
</authentication>

и

 <sessionState mode="InProc" timeout="240" />

и, в настройках приложения,

<add key="SessionTimeout" value="240" />

В нашем классе запуска OWIN у нас есть следующий код:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        CookieAuthenticationProvider provider = new CookieAuthenticationProvider();
        Action<CookieApplyRedirectContext> originalHandler = provider.OnApplyRedirect;

        provider.OnApplyRedirect = context =>
        {
            context.RedirectUri = $"{new PathString(Global.LoginPath)}/?session_expired=1";
            originalHandler.Invoke(context);
        };

        provider.OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager<PortalDirectApplicationUser>, PortalDirectApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(30),
                    regenerateIdentity: (manager, user) => manager.GenerateUserIdentityAsync(user));

        app.SetupPortalDirectAspNetIdentity<PortalDirectApplicationUser>();

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            CookieName = "OurCookie",
            LoginPath = new PathString(Global.LoginPath),
            Provider = provider,
            SlidingExpiration = true,
            ExpireTimeSpan = TimeSpan.FromMinutes(int.Parse(ConfigurationManager.AppSettings["SessionTimeout"]))
        });
    }
}

Таким образом, время ожидания в классе запуска также составляет 240 минут.

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

Спасибо!

...