728x90
반응형
1. 문제 상황
Swagger를 먼저 설정해준 후에 spring security를 설정하려고하는 과정에서 아래와 같은 에러가 발생했다.
개발자 화면에서 확인하면 생각보다 간단한 문제이다.
spring security 설정으로 인해서 /v3/api-docs/ 하위에 접근을 못하게 되면서 swagger의 기본 설정 정보를 못 가져 온 것이다.
2. 해결방법
Spring Security에서 설정에 /v3/api-docs/**를 추가하면 해결된다.
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth
.requestMatchers("/", "/swagger-ui/**","/v3/api-docs/**").permitAll()
.anyRequest().authenticated()
);
return http.build();
}
권한을 주는 경로가 많다면 이렇게 리팩토링해도 괜찮을 것 같다.
private static final String[] ALLOW_PATTERNS = {
"/",
"/swagger-ui/**",
"/v3/api-docs/**"
};
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth
.requestMatchers(ALLOW_PATTERNS).permitAll()
.anyRequest().authenticated()
);
return http.build();
}
728x90
'에러해결' 카테고리의 다른 글
[에러] Docker the image uses arm64 architecture which is not supported (0) | 2024.06.10 |
---|---|
[카카오 맵 API] kakao is not defined 에러 해결 (0) | 2024.05.15 |
[Spring Boot] 3.x 실행 안될 때 (0) | 2023.11.27 |
[MYSQL] 유저 권한 부여 에러 ERROR 1410 (42000): You are not allowed to create a user with GRANT 해결 (1) | 2023.10.27 |
[티스토리] 글 영역 벗어날 때(글자 튀어나옴) (2) | 2021.11.01 |