FormsAuthentication超时 - 检入JavaScript或JQuery

时间:2014-02-20 16:34:06

标签: javascript jquery asp.net-mvc forms-authentication

我正在使用

在MVC中创建表单身份验证
`FormsAuthentication.SetAuthCookie(userName, model.RememberMe);`

在Controller中,我们使用[Authorized]属性来确保用户会话有效且未过期。当用户从一个页面移动到另一个页面时,它很有效。如果Cookie已过期,则会再次显示“登录”页面。

问题出在一个页面(仪表板)上,它使Ajax调用服务器(Controller)每分钟刷新屏幕上的一些项目。

根据公司政策,我们的会议时间不得超过30分钟。因此,如果此页面保持打开状态30分钟且会话过期,我们希望重定向到“登录”页面。 目前,如果会话过期,此页面仍然保持不变,但停止刷新,然后用户抱怨他们无法查看数据。当然,一旦他们刷新页面,他们就可以再次看到它,但有任何方法可以使用我可以使用的FormAuthentication cookie已过期的JQuery或Java Script找到它

1 个答案:

答案 0 :(得分:1)

  

当然,一旦刷新页面,他们就可以再次看到它,但是   有什么办法可以使用JQuery或Java Script找到它   FormsAuthentication cookie已过期

是的,你可以。 Phil Haack写了一篇非常好的博客文章,解释了如何阻止表单身份验证模块简单地重定向到登录页面,而是返回一个401状态代码,客户端AJAX调用可能会捕获并使用window.location.href手动重定向到登录页面。

http://haacked.com/archive/2011/10/04/prevent-forms-authentication-login-page-redirect-when-you-donrsquot-want.aspx/

他还写了一个名为AspNetHaack的NuGet,你可以使用它,如果你有兴趣浏览这里的源代码:https://github.com/Haacked/CodeHaacks/tree/master/src/AspNetHaack

相关问题