내 응용 프로그램은 gulp 및 tomcat이라는 두 개의 서버에 의해 구분됩니다. 앞면은 뒤쪽 스프링 부트의 AngularJS입니다. 3000 내 API에 : 나는 로컬 호스트에서 요청을 보내 8080CORS 허용되지 않음 POST 방법 사용
포트 3000 및 바람둥이 작업 꿀꺽 (로컬 호스트 : 8080/API를/등록) POST 방법과 나의 봄 응답 HTTP 상태 코드를 사용하여 403
프리 플라이트 요청에 대한 응답이 액세스 제어 검사를 통과하지 못합니다. 아니요 요청한 리소스에 'Access-Control-Allow-Origin'헤더가 있습니다. 따라서 'http://localhost:3000'의 출처는 허용되지 않습니다. . 응답의 HTTP 상태 코드는 403입니다.
컨트롤러에 추가하려고했습니다. 주석 @CrossOrigin하지만 도움이되지 않았습니다.
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("http://localhost:3000").allowedMethods("OPTIONS","POST", "GET", "PUT", "DELETE");
}
};
}
위의 코드 도움 만 GET 요청에 대해 :
또한, 나는 내 WebConfig에 다음 코드를 추가했다. 왜 작동하지 않는지 알 수 있습니까?
당신은 사용자 정의 필터를 정의 하는가? 'GenericFilterBean' 또는 일부 클래스를 확장하는 것은 무엇입니까? – Gregg
CsrfCookieGeneratorFilter는 CSRF 토큰을 각도로 보내는 OncePerRequestFilter를 확장했습니다. – Doni
필자는 Filter in place가있는 경우 CORS 자료가 WebMvcConfigurer 또는 주석을 통해 작동하지 않는 문제에 부딪혔습니다. 내 필터에 CORS 헤더 정보를 모두 추가해야합니다. 당신은 그것을 시도하고 당신이 더 나은 결과를 얻는 지 볼 수 있습니다. – Gregg