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

loginForm.jsp 의 자동로그인 checkbox

  • name="remember-me"

3. 확인

  • 자동로그인 체크박스를 체크한 채로 로그인

  • remember-me 쿠키 생성 확인

persistent_logins table

  • 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를 모두 삭제해 주는 것으로 로그아웃 처리