Spring Security를 사용하기 위해 WebSecurityConfigurerAdapter를 extends하여 SecurityConfig 클래스를 구현하고 있었습니다. 그러나 위과 같이 경고 문구가 뜨는 것을 보아 더 이상 사용하지 않는 기술이라는 것을 이해했고, 이를 해결하고자 공식 문서 및 구글링을 통해 정보를 찾아봤습니다.
- 기존의 방식은 configure를 Override하여 구현했으나, Deprecated된 이후 새로운 설정을 해야합니다.
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests((authz) -> authz
.anyRequest().authenticated()
)
.httpBasic(withDefaults());
}
}
- SecurityFilterChain 적용(Bean 등록)
새로운 방식을 적용했으며, 더 이상 상속을 통한 Overriding을 진행하지 않습니다.
대신 모두 Bean으로 등록하여 사용합니다.
@Configuration
public class SecurityConfiguration {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests((authz) -> authz
.anyRequest().authenticated()
)
.httpBasic(withDefaults());
return http.build();
//테스트 결과 다음과 같이 작성해도 무방합니다
/*
return http
.authorizeHttpRequests((authz) -> authz
.anyRequest().authenticated()
)
.httpBasic(withDefaults()).build();
*/
}
}
Reference:
https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter