Spring Security _ 자동로그인 구현

dwanGim·2022년 7월 6일
0

spring_basic

목록 보기
33/41

자동 로그인 토큰 발급해주기

한 번 로그인하면 일정 시간동안

로그인 로직이 없어도 로그인 유지가 되도록 하려면

자동 로그인 기능이 필요합니다.

일단 spring security가 권장하는 사양으로

oracle 테이블을 생성해보겠습니다.

-- 스프링 시큐리티 공식 문서 권장사항 CREATE문
CREATE TABLE persistent_logins (
    username varchar(64) not null,
    series varchar(64) primary key,
    token varchar(64) not null,
    last_used timestamp not null
);
commit;
SELECT * FROM persistent_logins;

생성이 완료되었으면 이제 security-context.xml의 security:http 태그 사이에

security:remember-me를 추가해주어야 합니다.

token-validity-second는 초 단위 시간을 얼마나 저장할 지

설정해주는 것 입니다. 저는 일단 일주일 자동 로그인을 설정했습니다.

자동 로그인 체크박스를 만들고

로그인 했을 때 remember-me가 발급되는지 확인을 해봅니다.

자동로그인 체크박스를 체크하고 로그인했을 때 DB와 브라우저에

토큰이 저장되는 것을 확인할 수 있습니다.

서버를 껐다가 켜도 토큰이 살아있으면 설정이 완료된 것 입니다.

토큰 파기하기

로그아웃 시에 remember-me 쿠키를 파기해주려면

security-context에 쿠키를 파기하는 태그를 설정해주어야 합니다.

토큰 파기를 설정한 후 로그아웃했을 때 토큰이 사라지면

완성입니다.

profile
배울 게 참 많네요.

0개의 댓글