Spring 3.1:处理会话超时

时间:2012-09-24 16:47:50

标签: spring-security spring-3

我有一个与Spring 3.1身份验证连接的应用程序。我有一些页面使AJAX请求显示对话框的一些信息。现在,如果用户的会话超时,则Spring会重定向到登录页面。我不想要一个基于AJAX的登录页面。通过取消当前操作,我希望用户完全导航到登录页面。用户登录后,将用户导航回到他所在的最后一页(从那里发出AJAX请求)。

如果请求来自页面,重定向内容工作正常。

1 个答案:

答案 0 :(得分:1)

执行重定向到登录页面的类是LoginUrlAuthenticationEntryPoint。我会编写一个自定义的AuthenticationEntryPoint实现来检测Ajax请求(例如,通过查看Accept标头),并发送错误代码而不是执行重定向。

但是你仍然需要在客户端检测到这一点。 Spring Security可以做的并不多,但你应该可以从Javascript重新加载当前页面,这将强制登录,然后重定向到原始页面(默认的Spring Security行为)。