如何使用asp.net mvc实现会话超时页面

时间:2010-10-21 18:23:24

标签: asp.net asp.net-mvc

我的webconfig文件中有这个...

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

超时2880意味着要花多少秒或分钟?

如何显示我的会话超时时间我需要显示SessionTimeout.aspx页面...

由于

3 个答案:

答案 0 :(得分:4)

您可以使用动作过滤器在MVC中识别会话超时。这是a question我问过这个问题。列出的时间是几分钟。 (查看评论链接)

答案 1 :(得分:1)

正如Gabriel所说,使用FormsAuthentication,超时将在幕后发生,这意味着如果用户在时间过期后访问页面,则会要求您再次登录。

我建议将slideExpiration =“true”添加到你的web.config。

此外,您可能希望实现自动注销,因此一旦达到超时,潜在的敏感数据不会被暴露。

如果用户经过身份验证,我会通过调用window.setTimeout(myFunction,30000)来完成此操作。该函数使用JQuery ajax命中一个动作,该动作返回会话到期前剩余的时间。一旦时间量低于零,您就可以通过JavaScript重定向到注销操作。否则该方法只需再次调用window.setTimeout(myFunction,30000),以便继续检查。

您可以通过添加警告消息并允许用户单击使用JQuery ajax的按钮来点击重置计时器的操作来获得更好的效果。

答案 2 :(得分:-1)

在javascript中创建一个计数器,当达到超时时重定向用户。

编辑:据我了解您的问题,当用户长时间处于非活动状态时,您想重定向到该页面吗?