Spring Security - 会话超时重定向 - 如何启动重定向

时间:2014-05-06 18:04:02

标签: java spring-security session-timeout application-server

我想知道,会话超时时重定向的工作原理。在我们的应用程序中,在会话超时时,用户被重定向到登录页面。

  • 会话管理的哪个属性会导致重定向?
  • 是app-server还是spring,谁发起了重定向?
  • 如果我拦截此请求,我会获得有效会话或无效会话吗?仅供参考,在我们的例子中,request.isRequestedSessionIdValid返回true。这意味着会话仍然有效。如果我执行浏览器刷新仍然得到有效的会话。这是正确的行为吗?仅供参考,我们有会话监听器和登录页面上的过滤器。

我想了解这一切是如何发生的。请帮我理解。

1 个答案:

答案 0 :(得分:0)

嗯,Spring Security拥有非常灵活和可扩展的工具集。会话管理也不例外。对于基于java的配置中的会话超时重定向,您应该使用:

protected void configure(HttpSecurity http) throws Exception {
  http
...
    .sessionManagement()
        .invalidSessionUrl("/some_redirect_URL")
...
}

此机制触发InvalidSessionStrategy的一个实现,它处理超时异常。

阅读Spring Security文档以获取更多详细信息。

您可以在SessionListener

中使会话无效