【问题标题】:asp.net mvc session timeoutasp.net mvc 会话超时
【发布时间】:2011-08-12 12:11:38
【问题描述】:

如何为 asp.net mvc 应用程序实现会话超时功能?我希望在给定时间段内检测到不活动后自动注销用户。

我可以实现一个 ActionFilterAttribute 并应用于每个方法,但这不会自动注销用户。只有当用户尝试调用该操作的方法时,它才会退出。

谢谢。

【问题讨论】:

    标签: c# asp.net-mvc-2 c#-4.0 session-timeout


    【解决方案1】:

    之所以如此,是因为会话是在服务器端维护的。如果您希望用户浏览器中的空闲页面自动退出,您必须为其编写一些 javascript。您可以使用 ajax 请求来检查会话是否过期,并根据结果将用户重定向到索引(登录或任何其他不需要身份验证的页面)

    【讨论】:

      【解决方案2】:

      你应该能够从 web.config 管理这个:

      <system.web>
          <sessionState timeout="x"/> 
          ...
      </system.web>
      

      我不是 MVC 专家,但在 ASP.NET 中推出的这种行为的改变并不是我所期望的。

      这也可以使用 IIS 管理应用程序进行配置;不确定您使用的是哪个版本的 IIS,但this Technet article describes 即使在较旧的(IIS7 之前)版本中也应该很容易遵循。请注意,此方法在后台仍然管理 web.config 文件中的设置,因此如果这是受版本控制的,我不建议以这种方式更改它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-12
        • 2015-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 2014-12-13
        • 2016-03-27
        相关资源
        最近更新 更多