InvalidSessionStrategy的默认实现,即Spring安全性中的SimpleRedirectInvalidSessionStrategy,将请求重定向到默认URL。此默认网址来自最终变量。
我想通过不将所有时间重定向到同一个网址来覆盖行为。我怎么能实现这一目标?如果我创建了InvalidSessionStrategy的自定义实现,我该如何使用它?
这是我现在的配置
and()
.addFilterAfter(mySpringSecurityConfig.forceLogoutFilter(), PreAuthenticationFilter.class)
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
.invalidSessionUrl("http://xxx/login.jsp")
.sessionAuthenticationErrorUrl(PropertyMgr.getCarnivalURL("http://xxx/login.jsp"))
但我不想对所有无效会话使用“http://xxx/login.jsp”。谢谢你的帮助。
答案 0 :(得分:0)
请发布您的整个配置和Spring Security版本,以便我们可以全面了解。
但是,要覆盖InvalidSessionStrategy
,只需定义实现此界面的类
然后找到一种方法将您的实施放入SessionManagementFilter
一种方法可以通过SessionManagementConfigurer。
在最糟糕的情况下,您可以随时延长SessionManagementFilter
,将InvalidSessionStrategy
放在那里,并替换默认的sesssion过滤器。