Spring Boot 및 Spring Security로 CORS 문제를 해결하는 방법
CORS(Cross-Origin Resource Sharing) 구성은 교차 원본 리소스 공유를 활성화하는 데 필수적입니다. Spring Boot 애플리케이션의 원본 요청. 그러나 CORS 지원과 함께 Spring Security를 사용하는 경우 브라우저 제한으로 인해 잘못된 서버 응답이 발생할 수 있습니다.
문제:
Spring Boot와 Spring Boot 모두에서 AJAX 요청을 실행하는 경우 Spring Security, XMLHttpRequest 객체는 다음과 같은 적절한 HTTP 상태 코드 대신 빈 응답 본문이 있는 "0" 상태 코드를 수신할 수 있습니다. 401.
원인:
이 문제는 인증 프로세스 중 Spring Security의 리디렉션 동작과 초기 요청의 CORS 헤더 부족 사이의 충돌로 인해 발생합니다.
솔루션:
스프링 시큐리티 이제 Spring MVC CORS 지원을 활용합니다. 이 문제를 해결하려면:
@Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors(); } }
원하시면 가능합니다. CorsConfigurationSource 빈을 사용하여 전역 CORS 규칙을 구성합니다.
@Configuration @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; } }
Spring Security CORS 지원을 활성화하면 Spring MVC의 기존 CORS 구성을 활용하고 적절한 CORS 헤더가 응답에 추가되도록 합니다.
위 내용은 Spring Security를 사용하여 Spring Boot AJAX 요청에서 \'0\' 상태 코드 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!