Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SpringLegacy
- model
- 클린아키텍처
- AOP
- TDD
- index
- 공통기술
- 커뮤니티서버
- 로그백
- 이벤트핸들러this
- 단위테스트
- OOP
- SEQUENCE
- DDD
- string
- Ajax
- 냄새라도
- 문제선택근거
- 설정세팅
- 전전긍긍
- JDBC
- MVC요청플로우
- 디스크i/o
- springsecurity
- JPA
- MVC
- 사면초가
- Transaction
- 공통규약
- 이벤트핸들러등록
Archives
- Today
- Total
개발이군고구마
[Spring Security] 타기기에서 자동로그인 기능 풀기 본문
728x90
1. 개요
- JSSESIONID가 만료되거나 쿠키가 없을지라도(세션 정보 없음) 어플리케이션이 사용자를 기억하는 기능
- Rememberme 토큰 쿠키를 이용함
- Remember-me 설정
<remeber-me
service-ref=“rememberMeService”
key=“..key”
authentication-success-handler-ref=“security…successhandler”
/>
<beans:bean id=“rememberMeService” class=“….GenereousPersistentTokenBasedRememberMeServices”>
<beans:contructor-arg index=“0” value=“…key”/>
…..
<beans:property name=“cookieName” value=“mb-remember-me”/>
</beans:bean>
2. 문제상황
여러 개의 기기를 사용해서 서비스를 이용하고 있는 사용자의 경우
중요 개인 정보가 변경된 경우 자동로그인 기능으로 인해 다른 기기의 사용자가 계속해서 로그인을 하여 서비스 사용할 수 있는 이슈 발생
3. 해결 방향
현재 remember-me의 쿠키값을 기준으로 사용자를 확인하는 방법을 분석함
- 1) 우선 redis에서 1차적으로 utid를 기준 쿠키값을 저장 후 조회하고 있음
- 2) redis에서 값이 없을 때 쿠키값을 저장하고 있는 테이블에서 일치하는 쿠키값을 찾음
=> 이 결과에 따라 success/fail 로직
그렇다면 회원정보의 변경이 생길 경우
redis/db 두 곳에서 쿠키값에 해당하는 데이터 정보를 삭제하여, remember-me 쿠키값을 찾지 못하도록 함
4. 최종적으로 정리한 remember-me 작동 원리와 일감 해결 방법

'SERVER > Spring' 카테고리의 다른 글
| [Spring/DB]Transaction 과 Lock (@Transactional 사용에 대한 궁금증을 시작으로) (0) | 2025.03.08 |
|---|---|
| [Spring : Design Pattern] 3. AOP와 Proxy (Self Invocation부터 시작) (0) | 2024.11.09 |
| Session 사용 이유와 방법 (0) | 2024.10.27 |
| [Spring : Design Pattern] 2. Template Callback (인수 interface) (0) | 2024.10.04 |
| [Spring : Design Pattern] 1. Template Method (Abstract Class) (0) | 2024.10.02 |