>웹 프론트엔드 >JS 튜토리얼 >Spring Security를 ​​사용하여 Spring Boot 애플리케이션에서 CORS를 올바르게 구성하는 방법은 무엇입니까?

Spring Security를 ​​사용하여 Spring Boot 애플리케이션에서 CORS를 올바르게 구성하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-01 12:33:14419검색

How to Properly Configure CORS in a Spring Boot Application with Spring Security?

Spring Boot Spring Security 애플리케이션에서 CORS 구성

문제

Spring Security로 구성된 Spring Boot 애플리케이션에 CORS 지원을 통합하면 예상치 못한 결과가 발생할 수 있습니다. CORS 관련 문제. 특히, AngularJS 또는 JavaScript XMLHttpRequests를 사용하는 경우 인증 실패 시 "0"과 같은 상태 코드 또는 빈 응답 본문이 표시되어 프런트엔드에서 적절한 오류 처리를 방해할 수 있습니다.

해결책

이를 해결하려면 문제인 경우 Spring Security에서 CORS 지원을 명시적으로 활성화합니다.

  1. 활성화 Spring Security의 CORS 지원:

    @EnableWebSecurity
    public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.cors().and()... // Add additional security configuration here
        }
    }
  2. CORS 전역 구성 활용(선택 사항):

    CorsConfigurationSource 정의 bean:

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
        return source;
    }

이 구성은 Spring MVC의 CORS 지원을 활용하고 이전 필터 기반 접근 방식을 해결합니다. 자세한 내용은 Spring Security CORS 문서에서 확인할 수 있습니다.

추가 참고 사항

  • 이 문제는 Spring Security가 인증 프로세스 중에 CORS 헤더를 리디렉션하거나 추가하지 못할 때 발생합니다.
  • Spring Security CORS 지원을 활성화하면 프레임워크가 Spring MVC의 CORS를 활용할 수 있습니다.
  • Spring Security CORS 지원이 활성화되면 컨트롤러 수준 @CrossOrigin 주석이 지원됩니다.
  • 인증에 실패하면 응답에 적절한 상태 코드와 본문이 포함되어 적절한 오류 처리가 용이해집니다. 프론트엔드.

위 내용은 Spring Security를 ​​사용하여 Spring Boot 애플리케이션에서 CORS를 올바르게 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.