【问题标题】:Why is Session State timeout overriding Forms Authentication timeout in my MVC3 application?为什么会话状态超时会覆盖我的 MVC3 应用程序中的表单身份验证超时?
【发布时间】:2012-01-25 11:20:25
【问题描述】:

我的 web.config 中有以下内容

<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 有关,但我没有深入了解为什么会这样。

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    会话超时与表单身份验证超时无关。

    您没有详细说明您是如何创建票证的,因此以下是可能影响您观察的最常见的怪癖:

    1. 如果您自己实例化了身份验证票,那么超时设置 配置文件无效。
    2. 滑动超时有点古怪,除非您在窗口的后半部分再次访问,否则不会延长票证。

    您可能想查看这篇文章以获得概述:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 2011-11-17
      • 2010-12-01
      • 2012-09-28
      • 2013-10-22
      • 1970-01-01
      • 2019-07-26
      相关资源
      最近更新 更多