Spring Security 5.7.0 - M2 버전 부터 WebSecurityConfigurerAdapter가deprecated되었습니다.
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder(){
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// Filter Chain 설정
}
@Configuration
@EnableWebSecurity
public class SecurityConfig{
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests((authz) -> authz
.anyRequest().authenticated()
)
.httpBasic(withDefaults());
return http.build();
}
}
기존에는 위와 같은 방식으로 WebSecurityAdapter를 상속받아서 사용했다면 앞으로는 SecurityFilterChain 빈을 등록 하는 방식을 권장합니다.
이때 Spring Security의 버전에 따라 @EnableWebSecurity를 사용하지 않으면 HttpSecurity Bean을 찾을 수 없다는 에러가 발생하므로 추가해주자.
참고자료
https://docs.spring.io/spring-security/reference/servlet/index.html