如果会话从AJAX请求到期,则重定向到登录页面

时间:2012-02-17 14:05:56

标签: asp.net-mvc-3

如果用户的会话已过期而不是在更新Ajax内容的视图上加载登录页面,是否可以在使用@Ajax.ActionLink登录页面时执行重定向?例如,是否可以在Ajax调用的OnBegin函数中检查从服务器收到的状态?

2 个答案:

答案 0 :(得分:4)

Phil Haack写了一篇关于这种情况和处理它的选项的好文章:http://haacked.com/archive/2011/10/04/prevent-forms-authentication-login-page-redirect-when-you-donrsquot-want.aspx

以下是另一个选项,其中您的返回对象包含一个变量,用于指示是否应重定向结果Why jquery ajax calls fails after session timeout in asp.net mvc?

答案 1 :(得分:1)

我知道这有点晚了,但以防万一其他用户降落在这里。我最喜欢的处理方法是继承和扩展AuthorizeAttribute。这样,我可以装饰所有需要将Ajax调用重定向到登录页面的控制器。

它时尚且可重复使用,实际上比大多数人想象的更简单。有关如何执行此操作的完整分步教程:ASP.NET MVC 4: How to Redirect to Login Page from an AJAX Call with [Authorize]

希望它有所帮助。