我试图在一段时间不活动后暂停我的MVC网站。
我尝试了很多东西,但似乎都没有用。我尝试了以下内容:
使用CookieAuthenticationOptions类
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromMinutes(1),
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/xxx")
});
使用web.config中的表单身份验证元素:
<authentication mode="Forms" >
<forms loginUrl="~/xxxx" timeout="1"/>
</authentication>
并在配置文件中使用sessionState:
<sessionState timeout="1"/>
但这些似乎都不起作用。
我缺少什么,哪种方法最好?
答案 0 :(得分:0)
首先,您在此处将两个概念混为一谈:会话超时和身份验证超时。换句话说,没有&#34;网站超时&#34 ;;你需要弄清楚你实际上想要控制的是什么。接下来,会话超时滑动,因此只要用户正在使用网站,他们的会话就永远不会超时。但是,身份验证超时是绝对的,因此在指定的时间过后,用户将被注销,无论他们是否正在积极使用该站点。
就身份验证超时而言,您实际上也在这里混淆了两个概念:身份和成员身份(表单身份验证)。您拥有的第一部分代码是如何在ASP.NET身份中控制身份验证超时,而第二部分代码是您使用ASP.NET成员身份控制它的方式。这两者是互斥的,显然需要与您的项目正在使用的实际身份验证机制相匹配。