我使用spring安全性與OAuth2(版本:4.0.4.RELEASE)和spring(verison:4.3.1.RELEASE)。Spring Security CORS過濾器不起作用
我正在開發Angular的前端,我正在使用grunt connect:dev(http://127.0.0.1:9000)。當我試圖登錄本地主機地址一切工作正常,但其他我收到提示:
「的XMLHttpRequest無法加載http://localhost:8084/oauth/token?client_id=MY_CLIENT_ID迴應預檢要求未通過訪問控制檢查:沒有「訪問控制 - 允許 - Origin'標題出現在請求的資源上,因此Origin'http://127.0.0.1:9000'不允許訪問,響應的HTTP狀態碼爲401.「
我在WebMvcConfigurerAdapter(如下)中配置了映射(覆蓋public void addCorsMappings(CorsRegistry註冊表)),但它仍然不適用於http://127.0.0.1:9000。
registry.addMapping("/**")
.allowedOrigins("http://127.0.0.1:9000")
.allowedMethods("POST", "OPTIONS", "GET", "DELETE", "PUT")
.allowedHeaders("X-Requested-With,Origin,Content-Type,Accept,Authorization")
.allowCredentials(true).maxAge(3600);
配置基於:https://spring.io/guides/gs/rest-service-cors/
請點我正確的directon來解決這個問題。
如果我理解正確,您嘗試從不同的ip 127.0.0.1訪問。 (你不在本地主機了)。但你只允許從本地主機訪問(127.0.0.1) –
可能的重複[Spring CORS否'訪問控制 - 允許來源'頭部存在](http://stackoverflow.com/questions/35091524/spring-cors -no-access-control-allow-origin-header-is-present) –
Periklis - 是的,我試圖從不同的IP訪問。我只允許從http:// localhost:8084 /訪問。 – Matt