프레임워크/Spring Framework

[Spring Security 6.1.3] SecurityConfiguration 구성하기

Sondho 2023. 9. 8. 23:36

1. SecurityConfiguration 기본 구성

공식문서에 의하면 WebSecurityConfigurerAdapter를 사용해서 구성하는 방식은 deprecated 되면서 SecurityFilterChain 빈을 등록하는 방식으로 변경되습니다.

WebSecurityConfigurerAdapter를 사용해서 구성하는 방식 (Deprecated)
SecurityFilterChain 빈을 등록하는 방식

2. cors, csrf, session 등 HttpSecurity 설정

자세한 내용은 공식문서를 참고하면서 보면 됩니다.

2-1. cors

  • cors() 방식은 Deprecated 되었으므로 cors(Customizer<CorsConfigurer<HttpSecurity>> corsCustomzier) 방식을 사용해야 합니다.
 @Configuration
 @EnableWebSecurity
 public class CorsSecurityConfig {

        @Bean
        public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
                http
                        .cors(Customizer.withDefaults());
                return http.build();
        }
 }

2-2. csrf

 @Configuration
 @EnableWebSecurity
 public class CsrfSecurityConfig {

        @Bean
        public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
                http
                        .csrf((csrf) -> csrf.disable());
                return http.build();
        }
 }

2-3. sessionManagement

 @Configuration
 @EnableWebSecurity
 public class SessionManagementSecurityConfig {

        @Bean
        public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
                http
                        .sessionManagement(session -> session
                        .sessionCreationPolicy(SessionCreationPolicy.STATELESS));
                return http.build();
        }

 }