[Kotlin Spring Boot] Spring Security WebMvcConfigurerAdapter Deprecated 에 따른 SecurityFilterChain 로 변경하기

정지현·2022년 7월 20일
0

코틀린으로 스프링 부트를 설정하려던 중, 스프링 부트 공식 도큐먼트에서 설정하는 방식이 바뀌었다고한다..

원래 WebMvcConfigurerAdapter 를 상속받아서 사용했었으나, 이제는 Deprecated 되었다고 한다.

해당 이슈에 대한 Spring Security 공식 도큐먼트 참고

In Spring Security 5.7.0-M2 we deprecated the WebSecurityConfigurerAdapter, as we encourage users to move towards a component-based security configuration.

스프링 시큐리티 5.7.0-M2 버전에서는 WebSecurityConfigureAdapter 가 Deprecated 되었습니다. 컴포넌트를 활용한 Security 설정을 사용하는 것을 권고합니다.

라고 쓰여있다. 그렇다면 어떻게 시큐리티를 설정하는 것이 나을까?

시큐리티 설정에 대한 클래스를 @Configuration 으로 구성하고, 기존 HttpSecurity 를 사용하는 메소드를 @Bean 으로 구성해서 HttpSecurity 를 Bean 으로 return 하면 된다고 한다.

@Configuration
class SecurityConfig {

    @Bean
    fun filterChain(http: HttpSecurity): SecurityFilterChain {
        http.formLogin().disable() // Form Login 해제

        // TODO: CSRF 해제
        http.csrf().disable()

        // 엔드포인트 Auth 설정
        http.authorizeHttpRequests()
                .antMatchers("/**/h2-console/**").permitAll().and()

        // X-Frame-Option 해제
        http.headers()
                .frameOptions().sameOrigin().and()

        return http.build()
    }

}

자세한 것은 도큐먼트를 좀 더 참고해봐야할 것 같다.

끗.

profile
나를 성장시키는 좌절에 감사하고 즐기려고 노력 중

0개의 댓글