如何为asp.net mvc应用程序实现会话超时功能?我希望在检测到一段时间的不活动后自动注销用户。
我可以实现一个ActionFilterAttribute并应用于每个方法,但这样做不会自动注销用户。它只有在用户尝试调用该操作的方法时才会注销。
谢谢。
如何为asp.net mvc应用程序实现会话超时功能?我希望在检测到一段时间的不活动后自动注销用户。
我可以实现一个ActionFilterAttribute并应用于每个方法,但这样做不会自动注销用户。它只有在用户尝试调用该操作的方法时才会注销。
谢谢。
你应该能够通过web.config文件管理这个:
<system.web>
<sessionState timeout="x"/>
...
</system.web>
我不是MVC专家,但在ASP.NET中推出这种行为变化并不是我所期望的。
这也可以使用IIS管理应用程序进行配置;不确定您正在使用哪个版本的IIS,但是此Technet文章描述了即使在旧版(IIS7之前)中也应该很容易理解的内容。请注意,这种方法在幕后仍会管理web.config文件中的设置,因此如果这是版本控制的,则不建议以此方式更改它。
这是因为会话(session)在服务器端维护。如果您希望用户浏览器中的空闲页面自动注销,您需要编写一些javascript代码。您可以使用ajax请求来检查会话是否已过期,根据结果将用户重定向到首页(登录或不需要身份验证的任何其他页面)。