MVC FormsAuthentication超时 - AJAX注意事项

时间:2011-12-03 17:37:12

标签: asp.net-mvc ajax timeout forms-authentication

希望你能提供帮助。在我的ASP.net MVC3应用程序中,我的所有控制器都来自我创建的自定义控制器。

在FormsAuthentication超时后,如果用户尝试访问任何页面(标准功能),我的应用会正确地将用户重定向到登录页面。

但是,对于Ajax.ActionLink和Ajax.BeginForm调用,它们只返回任何内容,如果浏览器保持打开状态超过20分钟然后它们尝试访问Ajax链接,则会使用户感到困惑。

我是否可以将任何代码添加到我的基本控制器中,以便在检测到入站Ajax调用并且我们已经超时时将其重定向到我的登录页面?

我不介意之后是否没有返回到原始页面 - 很高兴它只是转到主页索引页面。

提前感谢您提供的任何帮助。

西蒙。

1 个答案:

答案 0 :(得分:4)

您可以查看following blog post,它说明了一种很好的方法,可以防止FormsAuthentication模块在发出AJAX请求时重定向到登录页面,只需向客户端发送401状态代码即可可以采取相应行动。