이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다.
Spring Security Session 정책
Spring Security는 Session을 관리하는 정책을 API로 설정할 수 있다. 이 정책은 여러 경우에 필요할 수 있게 되는데, 예를 들어 JWT를 통한 인증을 할 때는 세션을 사용하지 않기 때문에 Spring Security에서 항상 세션을 생성하지 않아야 한다. 이런 경우들이 존재할 수 있기 때문에 Spring Security는 손쉽게 Session 정책을 설정할 수 있도록 돕는다.
Session 정책 API 설정
- http.ssessionManagement() : 세션 설정 시작
- sessionCreationPolicy() : 세션 생정 정책을 설정한다.
- SessionCreationPolicy.Always : 세션을 항상 생성한다.
- SessionCreationPolicy.If_Required : 필요할 때만 세션을 생성한다. (기본값)
- SessionCreationPolicy.Never : 세션을 생성하지 않는다. 이전에 생성된 세션은 사용한다.
- SessionCreationPolicy.Stateless : 세션을 생성하지도, 사용하지도 않는다.
Stateless 정책은 세션을 사용하지 않는 인증방식을 도입할 때 사용한다. JWT 토큰 같은 것들로 인증을 처리할 떄 사용할 수 있다.
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.ALWAYS);
다음과 같이 API를 통해 손쉽게 설정할 수 있음.
'Spring > Spring Security' 카테고리의 다른 글
Spring Security : 선언적 권한 설정과 표현식 (0) | 2022.04.05 |
---|---|
Spring Security : SessionManagementFilter / ConcurrentSessionFilter (0) | 2022.04.05 |
Spring Security : 세션 고정 보호 (0) | 2022.04.05 |
Spring Security : 동시 세션 제어 (0) | 2022.04.05 |
Spring Security : 익명 사용자 필터 (0) | 2022.04.04 |