我正在使用spring boot 2.2.0.M2 spring security,此软件包的版本是5.2.0,我的项目在vuejs 2.6.10中完成
我想存档的内容看起来非常简单,当春季安全性会话超时时,我想重定向(强制浏览器)转到URL http://localhost:8080/
到目前为止,我一直在尝试:
我创建了配置类:
@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.formLogin()
.loginPage("/")
.defaultSuccessUrl("/admin#/timetable")
.permitAll()
.and().logout()
.logoutSuccessUrl("/")
.permitAll()
.and()
.sessionManagement()
.maximumSessions(1)
.expiredUrl("/")
.expiredSessionStrategy(event -> event.getResponse().sendRedirect("/"));
// this supoose to work right?
}
}
并在我的application.properties中添加了用于测试目的的
# Server
server.servlet.session.timeout=1m
一分钟后没有任何反应。
所以我认为也许是错误的,并且会话没有超时,所以我在调试模式下运行了应用程序,并在
中放置了断点package org.springframework.security.web.session;
...
public class HttpSessionEventPublisher implements HttpSessionListener
{
...
public void sessionDestroyed(HttpSessionEvent event) {
//my break point
}
}
一分钟后,调试器在sessionDestroyed方法中停止,因此会话不再存在。
关于我的UI,我正在使用嵌入在百里香叶子页中的vuejs:
所以我的问题是,您知道如何在Spring安全会话过期(超时)时强制浏览器重新加载我的应用程序或重定向到http://localhost:8080/吗?