我使用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