我是 Spring Security 的新手,我正在研究登录、注销和会话超时功能。我参考 这篇 文档配置了我的代码。我的代码如下所示:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/admin/**")
.access("hasRole('ROLE_USER')").and().formLogin()
.loginPage("/login").failureUrl("/login?error")
.usernameParameter("username")
.passwordParameter("password")
.and().logout().logoutSuccessUrl("/login?logout").and().csrf();
http.sessionManagement().maximumSessions(1).expiredUrl("/login?expired");
}
覆盖类 AbstractSecurityWebApplicationInitializer
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer {
@Override
public boolean enableHttpSessionEventPublisher() {
return true;
}
}
我需要澄清我是否做对了,如果它看起来不错,那么我需要在哪里设置会话超时。我是完全基于注释来做的。
原文由 raju vaishnav 发布,翻译遵循 CC BY-SA 4.0 许可协议
我能够通过仅在 web.xml 中添加以下配置来解决上述问题。任何更好的方法都会被接受。