Автоматический выход из веб-страницы Aurelia MVC5 аутентификация на ExpireTimeSpan - PullRequest
0 голосов
/ 11 октября 2018

У меня есть веб-сервер MVC5 ".Net Framework 4.6.2" с Aurelia SPA, который прекрасно работает.Что я хочу сделать, так это расширить мою аутентификацию для автоматического выхода пользователя из системы после определенного периода бездействия.

С настройкой CookieAuthenticationOptions следующим образом

LoginPath = new PathString("/Account/Login"),
SlidingExpiration=true,
ExpireTimeSpan=TimeSpan.FromMinutes(2)

Что происходит,пользователь больше не аутентифицируется после достижения ExpireTimeSpan, что ожидается, но они не перенаправляются автоматически на путь входа в систему, что и должно произойти.

У меня есть базовый класс запуска, как показано ниже, но cookie-файл ".AspNet.ApplicationCookie" никогда не истекает, он настроен на 1969-12-31T23: 59: 59.000Z.

public partial class Startup
{
    public void ConfigureAuth(IAppBuilder app)
    {
        app.CreatePerOwinContext(ApplicationDbContext.Create);
        app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
        app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
        app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            //ExpireTimeSpan = TimeSpan.FromMinutes(120),
            LoginPath = new PathString("/Account/Login"),
            Provider = new CookieAuthenticationProvider
            {
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(15),
                    regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
            }
        });
        app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

        app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));

        app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
    }
}

Может кто-нибудь сказать мне, что мне здесь не хватает?

Заранее спасибо!

...