>  기사  >  Java  >  Spring Security CORS 필터를 통합하는 방법은 무엇입니까?

Spring Security CORS 필터를 통합하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 12:52:22190검색

How to Integrate Spring Security CORS Filter?

Spring Security CORS 필터 통합

Spring Security에서는 교차 출처 요청을 처리하려면 CORS 구성이 필요합니다. 이 문제를 구체적으로 해결하려면 다음 단계를 따르세요.

  1. WebMvcConfigurerAdapter 구현:

    <code class="java">@Configuration
    public class WebConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
        }
    }</code>
  2. HttpSecurity에서 CORS 구성:

    <code class="java">@Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.cors().configurationSource(corsConfigurationSource());
        }
    
        @Bean
        public CorsConfigurationSource corsConfigurationSource() {
            final CorsConfiguration configuration = new CorsConfiguration();
            configuration.setAllowedOrigins(ImmutableList.of("*"));
            configuration.setAllowedMethods(ImmutableList.of("HEAD",
                                "GET", "POST", "PUT", "DELETE", "PATCH"));
            configuration.setAllowCredentials(true);
            configuration.setAllowedHeaders(ImmutableList.of("Authorization", "Cache-Control", "Content-Type"));
            final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", configuration);
            return source;
        }
    }</code>

중요 사항:

  • http.authorizeRequests().antMatchers 사용을 피하세요. (HttpMethod.OPTIONS, "/**").permitAll(); 또는 web.ignoring().antMatchers(HttpMethod.OPTIONS);, 이는 잘못된 솔루션입니다.
  • 자세한 내용은 공식 Spring Security 문서를 참조하세요: http://docs.spring.io/spring- security/site/docs/4.2.x/reference/html/cors.html

위 내용은 Spring Security CORS 필터를 통합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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