CORS를 지원하면서 Spring Boot 및 Spring Security를 사용하는 경우 특정 구성 문제가 발생하여 예상치 못한 결과가 발생할 수 있습니다.
XMLHttpRequest로 GET 요청을 수행하고 CORS 지원을 사용할 때 잘못된 인증 자격 증명에도 불구하고 200 상태 코드가 반환되는 문제 중 하나가 발생합니다. 이 동작으로 인해 프런트엔드에서 HTTP 상태 코드를 처리할 때 불일치가 발생합니다.
이 문제를 해결하려면 Spring Security에서 CORS 지원을 명시적으로 활성화하는 것이 중요합니다. 이는 Spring Security에서 CORS를 설정하여 수행되며, 이를 통해 Spring MVC CORS 구성을 활용할 수 있습니다.
컨트롤러 수준에서 @CrossOrigin 주석을 사용하는 애플리케이션의 경우 간단히 Spring Security CORS 지원을 활성화하면 충분합니다. 아래 코드는 이를 보여줍니다.
@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and()... } }
글로벌 CORS 구성을 선택하는 사용자의 경우 CorsConfigurationSource 빈을 정의해야 합니다.
@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and()... } @Bean CorsConfigurationSource corsConfigurationSource() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues()); return source; } }
이 접근 방식을 활용하면 CORS 지원이 효과적으로 이루어집니다. Spring Boot 및 Spring Security에서 활성화되어 인증 확인 중에 적절한 CORS 헤더가 추가되지 않는 문제를 해결합니다. 자세한 내용은 CORS의 공식 Spring Security 문서를 참조하세요.
위 내용은 Spring Security를 사용하여 Spring Boot에서 CORS를 올바르게 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!