본문 바로가기
공부/프로그래밍

swagger-ui 사용 시 spring security에 경로 등록

by demonic_ 2022. 2. 21.
반응형

Swagger 3.0 에서 ui를 제공하는데 spring security를 같이쓰고 있다면 다음의 화면을 볼 수 있다

 

403 에러가 발생하는데 이것은 아무것도 설정하지 않았을때의 발생하는 것이다.

이제 설정하는 방법을 살펴보자

 

참고로 dependency는 다음과 같다

implementation 'org.springframework.boot:spring-boot-starter-security'
...
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0'

 

WebSecurityConfigurerAdapter 을 구현하여 HttpSecurity에 등록해보자.

 

[도메인]/swagger-ui/index.html 으로 접속할 것을 생각해 다음처럼 설정하면 될 것처럼 보이지만 실제로 설정하면 접속이 되지 않는다.

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/swagger-ui/**").permitAll()
                .anyRequest().authenticated();
    }
}

다시 접속해보면 다음의 안내가 뜬다.

적혀있는 경로를 추가해보자

...
        http.authorizeRequests()
                .antMatchers(
                        "/v3/api-docs",
                        "/swagger*/**").permitAll()
                .anyRequest().authenticated();
...

 

이제 잘 접속된다.

 

 

끝.

반응형

댓글