코틀린으로 스프링 부트를 설정하려던 중, 스프링 부트 공식 도큐먼트에서 설정하는 방식이 바뀌었다고한다..
원래 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()
}
}
자세한 것은 도큐먼트를 좀 더 참고해봐야할 것 같다.
끗.