2012-01-25 90 views
5

我已在我的web.config为什么会话状态超时在我的MVC3应用程序中覆盖表单身份验证超时?

<sessionState mode="InProc" 
       timeout="2" 
       cookieless="UseCookies"/> 
<authentication mode="Forms"> 
    <forms 
    loginUrl="~/Account/LogOn" 
    timeout="1" 
    cookieless="UseCookies" /> 
</authentication> 

下面就我在MVC3(或Asp.Net)理解的sessionState控制当用户对服务器会话时间从 和窗体身份验证超时控制当用户将被迫再次登录到网站。

这似乎不是完全正确的:如果我从web.config中删除sessionState节,认证部分中的超时值为 完全被忽略 - 它似乎只是在一段默认时间后超时。

事实上,当认证超时时,会话状态超时似乎是需要控制的。这根本没有任何意义。 谁能告诉我我在这里失踪了什么?

这与我询问的this question有关,但我没有深究为什么会出现这种情况。

回答

4

会话超时独立于表单身份验证超时。

你没有你如何创建你的票细说了,所以这里是最常见的怪癖这可能会影响您的意见:如果你自己实例化的权威性票

  1. ,然后在 的超时设置配置文件没有效果。
  2. 滑动超时有点时髦,除非您在窗口的上半部分再次访问,否则不会延长票证。

你可能想看看这篇文章的概述:

http://support.microsoft.com/kb/910443

相关问题