Spring Security - 동시 세션 제어 API

2021. 4. 15. 16:10SPRING/SPRING SECURITY

사용 예제

1
2
3
4
5
6
http
.sessionManagement() // 세션 관리 기능 동작
.maximumSessions(1) // 동시 세션 최대 갯수, -1일시, 무제한 허용
.maxSessionsPreventsLogin(false) // false이면 기존 세션 만료처리(default), true이면 인증하려는 세션 차단
.expiredUrl("/expired") // 세션 만료되면 이동할 URL
;
cs

같은 계정으로 다른 PC 혹은 브라우저에서 로그인을 하면 Spring Security는 어떻게 동작할까?

두 가지 정책이 있다.

1. 기존 세션을 만료처리하여 새로 인증하려는 세션을 허용하는 정책(기본값)

2. 기존 세션은 그대로 유지하고 새로 인증하려는 세션을 차단하는 정책

 

maxSessionsPreventsLogin으로 설정 가능하다.