경주장
[인증 API] 동시 세션제어 본문
동시 세션 제어
- 최대 세션 허용 개수를 초과한 요청이 발생했을 때 어떻게 처리할 것인가
Strategy 1 - 이전 사용자 세션 만료 - maxSessionPreventsLogin(false) 기본설정
Strategy 2 - 현재 사용자 인증 실패 - maxSessionPreventsLogin(true)
http.sessionManagement( ) : 세션 관리 기능이 작동함
http.sessionManagement()
.maximumSessions(1) // 최대 허용 가능 세션 수 , -1 : 무제한 로그인 세션 허용
.maxSessionsPreventsLogin(true) // 동시 로그인 차단함, false : 기존 세션 만료(default)
.expiredUrl("/expired ") // 세션이 만료된 경우 이동 할 페이지
maxSessionPreventsLogin(true) -> 현재 사용자 인증 실패 (SessionAuthenticationException)
maxSessionPreventsLogin(false) -> 기존 사용자 세션 만료 (자원 접근 불가)
첫번째 사용자가 다시 자원을 요청하면 로그인 페이지로 리다이렉트 되고 로그인 하면 expired페이지로 이동
expired페URL을 설정하지 않으면 첫번째 사용자가 자원 요청시
이런 응답을 준다.
'스프링 > 스프링 시큐리티' 카테고리의 다른 글
[인증 API] SessionManagementFilter, ConcurrentSessionFilter (0) | 2022.02.06 |
---|---|
[인증 API] 세션 고정보호, 세션 생성 정책 (0) | 2022.02.06 |
[인증 API]익명사용자 인증 필터 : AnoymousAuthenticationFilter (0) | 2022.02.06 |
[인증 API] Remember Me 인증 (0) | 2022.02.02 |
[인증 API]로그아웃과 LogoutFilter (0) | 2022.02.02 |