因此,在我的应用程序中,我将身份配置为:
services.ConfigureApplicationCookie(cfg =>
{
cfg.Cookie.Name = "application_ms_state";
cfg.Cookie.Expiration = TimeSpan.FromDays(1);
cfg.SlidingExpiration = true;
});
但是到期发生了将近20分钟。
搜索了几天后,感谢这个答案背后的人,我发现问题是,身份检查每30分钟检查(默认情况下,可配置),以查看是否已发行的身份验证是有效的,因此,它检查了实现UserStore<>
的类是否正在实现IUserSecurityStampStore
(UserManager.SupportsUserSecurityStamp
)。由于我的会员服务类正在实现IUserStroe
不会实现IUserSecurityStampStore<>
,因此30分钟间隔I最终获得了无效的安全邮票和一个null主体,== SignOut
。
检查此GitHub问题以获取上述代码段的参考。
阅读文档注释。Expirestimespan和到期控制不同的事物。ExpirestimesPAN是用于滑动到期的一种。