我在MVC项目中使用Asp Identity进行身份验证,我的问题是会话结束,在某些情况下用户仍然进行身份验证。
我在配置上将OWIN的超时时间设置为20分钟
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
ExpireTimeSpan = TimeSpan.FromMinutes(20),
SlidingExpiration = false,
})
它的工作在20分钟后我的会话数据和Owin被清除。
但在某些情况下仍然存在问题:
IIS重置会话时清除,但用户仍通过身份验证。
当我在2015年的基础上构建解决方案时,会话被清除,但用户仍然通过了身份验证。
您使用的是DefaultAuthenticationTypes.ApplicationCookie
-cookie身份验证。
这是意料之中的事。。cookie的有效期为20分钟(根据您的配置),然后过期。与Session
无关
如果您真的想将身份验证绑定到会话,请参阅此处:https://stackoverflow.com/a/11420005/131809
我建议使用ActionFilter来代替基类(如其中一条评论中所述)