.NET Identity auth cookie到期

时间:2016-09-19 18:24:33

标签: c# authentication cookies asp.net-identity session-cookies

我阅读了很多有关此内容的教程和帖子,但在某些地方,我仍然遗漏了一些内容。

使用以下代码,我希望用户在浏览器关闭后最多1分钟内退出(validateInterval:TimeSpan.FromMinutes(1)),除非设置了“记住我”。

            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                 AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                 SlidingExpiration = true,
                 ExpireTimeSpan = TimeSpan.FromHours(1),
                 LoginPath = new PathString("/login"),
                 Provider = new CookieAuthenticationProvider
                 {
                      OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                            validateInterval: TimeSpan.FromMinutes(1),
                            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                 }
            });

然而,无论是否设置“记住我”似乎都没有区别,用户在浏览器关闭后保持登录1小时(ExpireTimeSpan = TimeSpan.FromHours(1))。

我的理解是,“记住我”意味着持久性cookie,所以如果没有设置,那么当浏览器关闭时,cookie应该被销毁,最迟在validateInterval通过时。

我哪里出错了,我需要设置什么,以便用户在闲置1小时或浏览器关闭1分钟后退出(以先到者为准)?

0 个答案:

没有答案