[Spring] 앤드포인트 권한 재정의

노유성·2023년 7월 31일
0
post-thumbnail

들어가며

기본 구성에서는 모든 end point는 app에서 관리하느 유효한 사용자가 있다고 가정한다. 그러므로 유효한 사용자를 제외한 어떤 사용자도 어떤 앤드포인트에도 접근을 하지 못 한다. HTTP Basic 인증은 대부분 APP 아키텍처에 적합하지 않다. 종종 app에 맞게 변경하고 싶을 떄가 있다. 이럴 경우에는 기존과는 다른 권한 부여 규칙을 선택해야 한다. Spring Security 5.7 이전까지는 WebSecurityConfigurerAdpater를 재정의한 class에서 configure 메소드를 재정의해서 구현을 했다.

하지만 5.7 이후부터는 앤드포인트 권한을 주기 위해서 SecurityFilterChain interface의 구현체를 Bean으로 등록한다.

예제

@Bean
 public SecurityFilterChain filter(HttpSecurity http) throws Exception {
    http.authorizeRequests()
                .anyRequest().permitAll();

    return http.build();
}

위 코드는 아주 간단한 예제로 어떤 요청이 와도 허용하겠다고 한 경우이다.

그러면 위 사진과 같이 아무 권한 없이도 요청이 가능하다.

이 외에도 이전에는 AuthenticationManagerBuilder를 주입받아서 configure 메소드를 재정의하여 Provider와 Manager를 재정의하였는데 아쉽게도 5.7이후에는 사용하지 못 하였다. AuthenticationProvider와 AuthenticationManager를 재정의하는 방법은 나중에 다루겠다!

profile
풀스택개발자가되고싶습니다:)

0개의 댓글