[Springboot/Error] WebSecurityConfigurerAdapter deprecated 해결

푸른별·2023년 6월 22일
0

Web

목록 보기
3/16
post-thumbnail

  • Spring Security 5.7.1 이후

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

profile
묵묵히 꾸준하게

0개의 댓글