介绍
使用Spring Security限制账号同时在线数量。
添加配置Bean
@Bean
public HttpSessionEventPublisher httpSessionEventPublisher() {
return new HttpSessionEventPublisher();
}
场景1
限制同时只能一个账号登录,第二次登录时,顶掉第一次登录。
Spring Security 增加配置
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) {
http
.sessionManagement(session -> session
.maximumSessions(1)
);
return http.build();
}
场景2
限制同时只能一个账号登录,第二次登录时,进行提示,无法登录。
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) {
http
.sessionManagement(session -> session
.maximumSessions(1)
.maxSessionsPreventsLogin(true)
);
return http.build();
}