스프링 시큐리티 3

[Security] 세션 제어 필터 : SessionManagementFilter, ConcurrentSessionFilter

세션 제어 필터 : SessionManagementFilter, ConcurrentSessionFilter 1. SessionManagementFilter의 핵심적인 4가지 기능 1-1. 세션 관리 : 인증 시 사용자의 세션정보를 등록, 조회, 삭제 등의 세션 이력을 관리 1-2. 동시적 세션 제어 : 동일 계정으로 접속이 허용되는 최대 세션수를 제한 1-3. 세션 고정 보호 : 인증할 때 마다 세션쿠키를 새로 발급하여 공격자의 쿠키 조작을 방지 1-4. 세션 생성 정책 : Always, If_Required, Never, Stateless 2. ConcurrentSessionFilter의 기능 매 요청 마다 현재 사용자의 세션 만료 여부 체크 세션이 만료되었을 경우 즉시 만료 처리 session.isE..

Spring Security 2021.12.09

[Security] 동시세션제어, 세션고정보호, 세션정책

1. 동시 세션 제어 : 동일한 계정으로 인증을 받을 떄 생성되는 세션의 개수가 허용 개수를 초과할 경우 어떻게 세션 유지할지 제어하는 것 최대 세션 허용 개수 초과 시 -> 시큐리티에서 2가지 전략을 제공합니다. 1. 이전 사용자 세션 만료 : 새로운 사용자에게 세션 생성, 이전(기존) 사용자의 세션을 만료시킵니다. 2. 현재 사용자 인증 실패 : 이전(기존) 사용자의 세션을 유지시키고, 새로운 사용자의 인증예외를 발생시킵니다. 사용 방법) http.sessionManagement() : 세션 관리 기능이 작동 protected void configure(HttpSecurity http) throws Exception { http.sessionManagement() .maximumSessions(1) ..

Spring Security 2021.12.08

[Security] 스프링 시큐리티 설정 및 사용자 정의 보안기능 구현

의존성 추가 (gradle) implementation 'org.springframework.boot:spring-boot-starter-security' 스프링 시큐리티 의존성을 추가 후 서버를 기동하면 기본적으로 시큐리티의 초기화 작업 및 보안설정이 이루어진다. 별도의 설정이나 구현을 하지 않아도 기본적인 웹 보안 기능이 현재 시스템에 연동이 되어 작동한다. WebSecurityConfigurerAdapter 클래스는 기본적인 웹보안 기능의 활성화 및 설정등.. 모든 처리를 한다. HttpSecurit 클래스는 세부적인 기능을 설정할 수 있는 인증API, 인가API를 제공한다. 사용자 임의 설정이 없을 경우 기본으로 아래의 api들을 호출하여 설정을 초기화 한다. (Default) private vo..

Spring Security 2021.10.03