세션관리
- 인증 시 사용자의 세션정보를 등록, 조회, 삭제 등의 세션 이력을 관리
동시적 세션 제어
- 동일 계정으로 접속이 허용되는 최대 세션수를 제한
세션 고정 보호
- 인증 할 때마다 세션쿠키를 새로 발급하여 공격자의 퀴 조작을 방지
세션 생성 정책
- SessionCreationPolicy.Always //스프링 시큐리티가 항상 세션 생성
- SessionCreationPolicy.If_Required //스프링 시큐리티가 필요 시 생성(기본값)
- SessionCreationPolicy.Never //스프링 시큐리티가 생성하지 않지만 이미 존재하면 사용
- SessionCreationPolicy.Statelses //스프링 시큐리티가 생성하지 않고 존재해도 사용하지 않음 (JWT사용시 체크)
Kotlin
http.sessionManagement {
it.sessionCreationPolicy(SessionCreationPolicy.STATELESS) // 세션 생성 정책
it.maximumSessions(1) // 최대 허용 가능 세션 수, -1:무제한 로그인 세션 허용
it.maxSessionsPreventsLogin(ture) //동시 로그인 차단함, false : 기존 세션 만료(default)
it.invalidSessionUrl("/invalid") //세션이 유효하지 않을 때 이동 할 페이지
it.expiredUrl("/expired") //세션이 만료된 경우 이동 할 페이지
it.sessionFixation().changeSessionId() //세션은 그대로 두고 세션ID만 변경됨, 기본값==change, none(쓰면안됨), migrateSession, newSession
}
Webclient 한글깨짐 문제 해결 (0) | 2023.03.10 |
---|---|
Spring Security 6 변경점 (0) | 2023.01.25 |
Spring-IOC (0) | 2022.03.01 |
@Component, @Configuration 차이 (0) | 2021.08.04 |
[JPA] Page, nativeQuery사용 (0) | 2021.07.13 |