ConcurrentSessionFilter
-
Spring Boot 3 에서 Spring Security 6 를 사용하여 로그인 시 동시 세션 제어를 설정하려고 한다. Spring Security 의 SecurityFilterChain 에서 Session 을 관리하는 Filter 는SessionManagementFilter 와 ConcurrentSessionFilter 이다. SessionManagementFilter인증 직후에 세션을 생성하거나 재사용하고, 세션 관련 정책을 적용한다. 세션을 관리하는 Filter 인 SessionManagementFilter 는 4가지 기능을 한다.세션 관리 : 인증 후 사용자의 세션 관리(등록, 조회, 삭제)동시 세션 제어 : 동일 계정에 대한 세션 관리세션 고정 보호 : 인증 후 세션 쿠키를 재발급하여 세션 ..
Spring Security 동시 세션 제어(SessionManagementFilter, ConcurrentSessionFilter)Spring Boot 3 에서 Spring Security 6 를 사용하여 로그인 시 동시 세션 제어를 설정하려고 한다. Spring Security 의 SecurityFilterChain 에서 Session 을 관리하는 Filter 는SessionManagementFilter 와 ConcurrentSessionFilter 이다. SessionManagementFilter인증 직후에 세션을 생성하거나 재사용하고, 세션 관련 정책을 적용한다. 세션을 관리하는 Filter 인 SessionManagementFilter 는 4가지 기능을 한다.세션 관리 : 인증 후 사용자의 세션 관리(등록, 조회, 삭제)동시 세션 제어 : 동일 계정에 대한 세션 관리세션 고정 보호 : 인증 후 세션 쿠키를 재발급하여 세션 ..
2025.06.16 -
SessionManagementFilter세션 관리를 위한 필터로 Spring Security 에서 4가지 기능을 지원한다. 세션관리 : 인증 후 사용자의 세션 관리(등록, 조회, 삭제)동시 세션 제어 : 동일 계정에 대한 세션 관리세션 고정 보호 : 인증 후 세션 쿠키를 재발급하여 세션 쿠키 조작 공격을 방지세션 생성 정책 : Always, If_Required, Never, Stateless 여기서 동시세션제어는 ConcurrentSessionFilter 가 담당한다. ConcurrentSessionFilterConCurrentSessionFilter 는 SessionRegistry 를 이용하여 사용자의 로그인 동시세션 제어를 한다.사용자 요청이 들어올 때마다 매번 세션이 만료(expired) 되었..
Spring Security SessionManagementFilter, ConcurrentSessionFilter(동시세션제어)SessionManagementFilter세션 관리를 위한 필터로 Spring Security 에서 4가지 기능을 지원한다. 세션관리 : 인증 후 사용자의 세션 관리(등록, 조회, 삭제)동시 세션 제어 : 동일 계정에 대한 세션 관리세션 고정 보호 : 인증 후 세션 쿠키를 재발급하여 세션 쿠키 조작 공격을 방지세션 생성 정책 : Always, If_Required, Never, Stateless 여기서 동시세션제어는 ConcurrentSessionFilter 가 담당한다. ConcurrentSessionFilterConCurrentSessionFilter 는 SessionRegistry 를 이용하여 사용자의 로그인 동시세션 제어를 한다.사용자 요청이 들어올 때마다 매번 세션이 만료(expired) 되었..
2024.09.06 -
Spring Security를 사용하여 커스텀 필터를 생성하지 않고 로그인 인증을 진행할때 AbstractAuthenticationProcessingFilter 를 상속받은 UsernamePasswordAuthenticationFilter 에 의해 진행된다.본인은 AbstractAuthenticationProcessingFilter 를 직접 상속받아 커스텀 필터를 만들었다. 특정 계정이 로그인 되어 있는 상황에서 다른 브라우저에서 로그인을 진행하면 최대 세션 개수에 의해 로그아웃이 진행되었어야 했다. 설정은 아래와 같다.maximumSession(1) 설정에 의해 최대 세션 개수는 1개이고 maxSessionsPreventsLogin(false) 로이전 사용자 만료 설정으로 설정했다.이전 사용자 만료 설..
Spring Security ConcurrentSessionControlAuthenticationStrategy 설정(동시세션제어 설정)Spring Security를 사용하여 커스텀 필터를 생성하지 않고 로그인 인증을 진행할때 AbstractAuthenticationProcessingFilter 를 상속받은 UsernamePasswordAuthenticationFilter 에 의해 진행된다.본인은 AbstractAuthenticationProcessingFilter 를 직접 상속받아 커스텀 필터를 만들었다. 특정 계정이 로그인 되어 있는 상황에서 다른 브라우저에서 로그인을 진행하면 최대 세션 개수에 의해 로그아웃이 진행되었어야 했다. 설정은 아래와 같다.maximumSession(1) 설정에 의해 최대 세션 개수는 1개이고 maxSessionsPreventsLogin(false) 로이전 사용자 만료 설정으로 설정했다.이전 사용자 만료 설..
2022.12.27