Spring Security 5.7 (WebSecurityConfigurerAdapter)

Jeong Gyejin·2023년 3월 5일
0

스프링 프레임워크

목록 보기
5/17

스프링 시큐리트를 이용한 api를 만들던 중 WebSecurityConfigurerAdapter를 상속받아 사용할 경우에 -이 그어지는 문제가 발생하는 현상이 있었습니다.

작동에는 별 문제가 없었지만 왜 이런 문제가 발생하는지 찾아보기 위해서 공식문서를 참고했습니다.

WebSecurityConfigurerAdapter가 없는 스프링 시큐리티라는 제목입니다.
스프링 시큐리티 5.7.0-M2 버전부터는 WebSecurityConfigurerAdapter를 사용을 권장하지 않는다고 나와있습니다.
따라서 이제는 @Bean 을 사용하여 스프링 시큐리티를 구성해야 합니다.

HttpSecurity 구성방법

  • 기존에 사용하던 방식에서는 아래와 같이 상속을 받아서 설정했습니다.
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

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

그런데 이제는 아래와 같이 @Bean을 이용해서 설정을 해주어야 합니다.

@Configuration
public class SecurityConfiguration {

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

상속받아서 사용하던 내용들을 위처럼 @Bean을 이용해서 사용하게 되면 문제없이 작동이 됩니다.

profile
항상 더 나은 개발자가 되기 위해서 끊임없이 공부하고 학습하면서 성장하는 사람이 되겠습니다.

0개의 댓글