首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Spring安全的承载认证CORS

基于Spring安全的承载认证CORS
EN

Stack Overflow用户
提问于 2018-06-06 10:14:40
回答 2查看 923关注 0票数 0

在我的设置中,我在zuul网关后面有一个服务,配置有Security;我的客户端是一个简单的网站,对网关执行AJAX请求。

我在服务控制器中的端点上放置了交叉原产地注释,因此直接对服务传递执行请求,将请求指向网关,结果是我的选项中有401个错误-请求。

看起来带有授权头的请求没有到达Security,因为现在不允许这个头。

目前,我扩展了WebSecurityConfigurerAdapter以允许所有选项-请求。

编辑:问题:我如何配置Security,使其不要求选项-请求的身份验证?

EDIT2:我用相关代码创建了一个要旨

  • 客户:hello.jsindex.html
  • 网关:WebSecurityonfig.javaSimpleCORSFilter.javaGatewayApp.java
  • 服务:ContactController.java

EDIT2:在收集了更多关于预飞行和Spring (安全)选项的信息后,问题似乎来自Security。

我们使用一个承载令牌来授权客户端,所以浏览器向服务器发送一个选项-飞行前请求。服务器由Security保护,它找不到有效的授权头,因此返回401未经授权

EN

回答 2

Stack Overflow用户

发布于 2018-06-06 11:18:05

您必须在CrossOrigin注释中指定允许的来源。

@CrossOrigin(origins = "http://allowed-domain.com")

这里有一个例子:https://spring.io/blog/2015/06/08/cors-support-in-spring-framework

票数 1
EN

Stack Overflow用户

发布于 2018-06-07 09:12:44

我知道我的答案有点离题,但我通常处理这个问题的方式是使用http服务器(比如nginx)。此服务器是后端或前端上的前端请求和重定向请求(因此,从浏览器的角度来看,所有服务器都在同一个域中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50717857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档