본문 바로가기

DEVELOPER/Spring & JPA

[스프링 시큐리티] WebSeucrityConfigurerAdapter Deprecated 대처

문제

위 그림과 같이 Spring Security 5.7.0-M2 버전부터, WebSecurityConfigurerAdapter가 deprecated 되었습니다.  공식 문서에 따르면, 다른 설정 방식을 권장한다고 합니다. 자세한 내용은 아래에서 확인하겠습니다.

Deprecated : 더 이상 사용되지 않는

 

변경 내용

기존에는 해당 클래스를 상속받아 설정을 오버라이딩 하는 방식이었습니다. 바뀐 방식에서는 SecurityFilterChain 과 WebSecurityCustomizer 를 Bean으로 등록하여 사용합니다. 

 

HttpSecurity 구성 비교

(이전 방식)

WebSecurityConfigurerAdapter 상속 후, configure 메소드 오버라이딩하여 설정하는 방식

@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

	@Override
    protected void configure(HttpSecurity http) throws Exception {
    	http
        	.authorizeHttpRequests((auth) -> auth.
            	.anyRequest()
                .authenticated()
            )
            .httpBasic(withDefaults());
    }
}


(권장 방식)

SecurityFilterChain 을 빈으로 등록하는 방식

@Configuration
public class SecurityConfiguration {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests((authz) -> auth
                .anyRequest()
                .authenticated()
            )
            .httpBasic(withDefaults());
        return http.build();
    }

}

 


참고 링크

https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter

 

Spring Security without the WebSecurityConfigurerAdapter

<p>In Spring Security 5.7.0-M2 we <a href="https://github.com/spring-projects/spring-security/issues/10822">deprecated</a> the <code>WebSecurityConfigurerAdapter</code>, as we encourage users to move towards a component-based security configuration.</p> <p

spring.io

 

반응형