반응형
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();
...
이제 잘 접속된다.
끝.
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[maven] jar 파일 만들때 dependency 파일 첨부하기 (+파일명 고정하기) (0) | 2022.03.21 |
---|---|
[jpa] 테이블에 입력, 수정일시 컬럼 공통으로 하기 (0) | 2022.02.23 |
[react] window is not defined 에러 (apexchart) (0) | 2022.01.12 |
[log4j] SLF4J: Class path contains multiple SLF4J bindings. 에러 (0) | 2022.01.05 |
[log4j] runtime 중 레벨 변경(@Slf4j 같이 적용) (0) | 2021.12.20 |
댓글