Spring Security 중복 로그인 방지개발/Spring2024. 5. 21. 13:22
Table of Contents
시큐리티 4,3 버전에서 XML 설정 방식을 사용했다.
securiry-context.xml에 아래 내용을 추가한다.
<session-management>
<concurrency-control max-sessions="1" error-if-maximum-exceeded="false" expired-url="/signin.do"></concurrency-control>
</session-management>
- max-sessions : 중복 허용할 세션 수
- error-if-maximum-exceede="false": 첫 번째 사용자의 세션이 끊김
- error-if-maximum-exceede="true": 두 번째 사용자의 세션이 끊김
- expired-url: 중복 로그인 발생 시 이동할 페이지
만일 유저의 인증 정보를 담는 UserDetail 객체를 Custom해서 사용하는 경우에는 반드시 equals and hashcode를 구현해줘야한다.
그렇지 않으면 유저 정보를 비교할 때 서로 다른 유저로 인지해서 중복 로그인한 세션을 끊을 수 없다.
Reference
세션 클러스터링과 시큐리티 없이 중복 로그인을 관리하는 방법을 정리해놓은 블로그
'개발 > Spring' 카테고리의 다른 글
다중 서버에서 세션 불일치 문제를 해결하는 방법 (0) | 2024.06.04 |
---|---|
Spring DTO + 파일 전송 (0) | 2024.05.21 |
Spring 파일 이미지 조회하기 (0) | 2024.05.21 |
MyBatis INSERT 시 Auto Increment 값 리턴 받기 (0) | 2024.04.24 |
JWT + Spring Security 환경의 Controller 테스트에 인증 정보 주입하기 (0) | 2024.03.26 |
@뽀글뽀글 개발자 :: 뽀글뽀글 개발 일지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!