자동로그인
자동로그인은 대부분 쿠키(Cookie)를 이용해서 구현한다.
security-context.xml에 <security:remeber-me> 태그를 이용해서 기능을 구현합니다.
- key : 쿠키에 사용되는 값을 암호화하기 위한 키(key) 값
- data-source-ref : DataSource를 지정하고 테이블을 이용해서 기존 로그인 정보를 기록(옵션)
- rember-me-cookie : 브라우저에 보관되는 쿠키이름을 지정하미. 기본값 'rember-me'
- rember-me-parameter : 웹 화면에서 로그인할 때 'rember-me'는 대부분 체크 박스를 이ㅛㅇ해서 처리
체크 박스 태그는 name 속성을 의미한다.
- tocken-validity-seconds : 쿠키의 유효시간을 지정함
데이터베이스를 이용하는 자동 로그인
스프링 시큐리티의 공식 문서를 확인하면 로그인 정보를 유지하는 테이블은 아래와 같은 스크립트로 구현되어 있음.
create table persistent_logins (
username varchar(64) not null,
series varchar(64) primary key,
tocken varchar(64) not null,
last_used timestamp not null);
<security:logout logout-url="/logout" invalidate-session="true"/>
<security:remember-me data-source-ref="dataSource" token-validity-seconds="604800"/>
로그아웃 부분과 rember-me 604800 7일 을 의미하는 시큐리티 태그를 넣어준다.
로그아웃시 세션을 제거할건가의 설정도 true
로그아웃 시에는 자동 로그인하는 쿠키도 삭제를 해줘야 한다.
<security:logout logout-url="/logout" invalidate-session="true" delete-cookies="rember-me,JSESSION_ID" />
'Spring' 카테고리의 다른 글
스프링 시큐리티 : @PreAuthorize , Ajax 시큐리티 Connect (0) | 2021.11.23 |
---|---|
스프링 : 시큐리티 한글처리 (0) | 2021.11.22 |
스프링 시큐리티 : 시큐리티 표현식 (0) | 2021.11.22 |
스프링 시큐리티 : UserDetailsService , ResultMap , CustomUser (0) | 2021.11.19 |
스프링 시큐리티 : {noop} , AccessDeninedHandler(접근 제한 처리), 커스텀 로그인 , CSRF 토큰 , AuthenticationSuccessHandler(로그인 이후 처리) (0) | 2021.11.17 |