为什么 cookie ExpireTimeSpan 设置不起作用?
Why doesn't cookie ExpireTimeSpan setting work?
我用过:
services.AddAuthenticationCore().ConfigureApplicationCookie(o =>
{
o.ExpireTimeSpan = TimeSpan.FromHours(1);
o.SlidingExpiration = true;
});
在 ASP.NET Core MVC 项目的 Startup.cs 中设置我的身份验证 cookie ExpireTimeSpan
。
我可以看到登录后在网络浏览器中设置了正确的 cookie 过期时间,但每次 30 分钟后它会自动注销,即使我每 10 秒刷新一次网站也是如此。
如果我设置的ExpireTimeSpan
小于30分钟,可以正确超时,但是expire-time无法刷新
为什么是 30 分钟?在哪里可以更改 30 分钟超时设置?还是在IIS中设置?
Why is it 30 minutes?
这是 ASP.NET Core Identity 的默认值。
Where can I change the 30 minutes timeout setting? Or is it set in IIS?
没有。在 IdentityRegistrar.Register
:
之后调用 ConfigureApplicationCookie
public IServiceProvider ConfigureServices(IServiceCollection services)
{
// ...
IdentityRegistrar.Register(services); // No change
AuthConfigurer.Configure(services, _appConfiguration); // No change
services.ConfigureApplicationCookie(o =>
{
o.ExpireTimeSpan = TimeSpan.FromHours(1);
o.SlidingExpiration = true;
});
// ...
}
"If you define it before the services.AddIdentity
, your custom values will be overwritten."
https://github.com/aspnet/Identity/issues/1389#issuecomment-324257591
我用过:
services.AddAuthenticationCore().ConfigureApplicationCookie(o =>
{
o.ExpireTimeSpan = TimeSpan.FromHours(1);
o.SlidingExpiration = true;
});
在 ASP.NET Core MVC 项目的 Startup.cs 中设置我的身份验证 cookie ExpireTimeSpan
。
我可以看到登录后在网络浏览器中设置了正确的 cookie 过期时间,但每次 30 分钟后它会自动注销,即使我每 10 秒刷新一次网站也是如此。
如果我设置的ExpireTimeSpan
小于30分钟,可以正确超时,但是expire-time无法刷新
为什么是 30 分钟?在哪里可以更改 30 分钟超时设置?还是在IIS中设置?
Why is it 30 minutes?
这是 ASP.NET Core Identity 的默认值。
Where can I change the 30 minutes timeout setting? Or is it set in IIS?
没有。在 IdentityRegistrar.Register
:
ConfigureApplicationCookie
public IServiceProvider ConfigureServices(IServiceCollection services)
{
// ...
IdentityRegistrar.Register(services); // No change
AuthConfigurer.Configure(services, _appConfiguration); // No change
services.ConfigureApplicationCookie(o =>
{
o.ExpireTimeSpan = TimeSpan.FromHours(1);
o.SlidingExpiration = true;
});
// ...
}
"If you define it before the
services.AddIdentity
, your custom values will be overwritten."https://github.com/aspnet/Identity/issues/1389#issuecomment-324257591