Spring security Zuul将安全微服务结果发送至401响应的路线
我已经创建了一个Zuul代理,它将请求路由到microservice basic auth中的安全端点 我的Zuul代理在8888端口上运行 我的安全微服务有一个端点/api/foo,带有用户名:通过Spring Security进行密码身份验证。具有等于安全服务的服务id 现在,每当我访问时,浏览器都会提示我输入用户名和密码,以证明它确实路由到安全服务。但进入后,它就一直问我的证件。 我还尝试通过curl访问它, 卷曲http://username:password@localhost:8888/secure service/api/foo,我得到401响应 为什么会这样 然后,我尝试删除我的安全服务上的spring安全依赖项和配置,一切正常。但是我真的想要基本的身份验证Spring security Zuul将安全微服务结果发送至401响应的路线,spring-security,spring-cloud,netflix-zuul,Spring Security,Spring Cloud,Netflix Zuul,我已经创建了一个Zuul代理,它将请求路由到microservice basic auth中的安全端点 我的Zuul代理在8888端口上运行 我的安全微服务有一个端点/api/foo,带有用户名:通过Spring Security进行密码身份验证。具有等于安全服务的服务id 现在,每当我访问时,浏览器都会提示我输入用户名和密码,以证明它确实路由到安全服务。但进入后,它就一直问我的证件。 我还尝试通过curl访问它, 卷曲http://username:password@localhost:888
谢谢你的阅读。我终于找到了答案: Zuul中有一个名为 zuul.sensitive-headers 此属性是一个字符串集合,其中包含不包含以传递给MicroService的标头。目前,SpringCloudZuulVer2.2.1.RELEASE默认设置这3个值 Cookie,设置Cookie,授权 看在上帝的份上,他们把授权作为一个敏感的标题,这就是为什么每当Zuul试图路由到一个安全的微服务时,你会不断收到401个未经授权的响应 解决方案只是在Zuul应用程序中删除Config属性中的授权 zuul.sensitive headers=Cookie,设置Cookie 希望能有帮助