lectureNote/SPRING
Spring Security - 8. 자동로그인!!
shiherlis
2022. 12. 21. 15:31
1. DB
-- 자동 로그인 테이블
create table persistent_logins (
username varchar(16) not null,
series varchar(64) primary key,
token varchar(64) not null,
last_used timestamp not null);
2. Spring
1) security-context
<!-- 자동로그인 처리 : 60*60*24*7 : 총 7일 -->
<security:remember-me data-source-ref="dataSource" token-validity-seconds="604800" />
2) loginForm checkbox
- name="remember-me"
3. 확인
- 자동로그인 체크박스를 체크한 채로 로그인
- remember-me 쿠키 생성 확인
- persistent_logins table에 토큰이 추가된 것 확인
- 브라우저 종료 후 다시 sample/admin 페이지로 접속
- 네트워크를 확인하면 'remember-me' 쿠키의 정보가 전송되는 것 확인 가능
4. 로그아웃시 쿠키 삭제
security-context.xml
<!-- 로그아웃 처리 -->
<security:logout logout-url="/logoutForm" invalidate-session="true" delete-cookies="remember-me,JSESSION_ID"/>
- 로그아웃시 자동로그인 쿠키와 JSESSION_ID를 모두 삭제해 주는 것으로 로그아웃 처리