我想在几个服务前面通过Spring Cloud引入Zuul作为API网关。
我对身份验证有一些设计疑问。
身份验证将由 Spring Security 处理,它位于 servlet 过滤器链中的 Zuul 之前。
我的顾虑:
在管理API网关方面:
- 您如何强制实际服务团队提供每个下游服务所需的设置?
- 如何允许在网关中频繁更改身份验证设置(根据服务需要)而不必停止整个网关?
谢谢,
阿德里安
我们使用 Spring Session 在 Zuul 边缘服务器后面的所有服务之间复制会话。 Zuul 将验证用户身份,填充用户凭据并将经过身份验证的用户插入会话中。然后将其复制到所有服务中,并且每个服务负责自己的安全规则和设置。所以实际上,Zuul 所做的就是在 Spring Security 中查找用户,并且后端的服务在应用到他们的需求时执行安全规则。这样,您可以独立更改每个服务,使网关只是一个愚蠢的代理。
Dave Syers 教程中就是一个很好的例子Spring Security 和 Angular JS 应用程序 https://spring.io/guides/tutorials/spring-security-and-angular-js/。我也发帖了另一个问题 https://stackoverflow.com/questions/32786954/session-not-replicated-on-session-creation-with-spring-boot-session-and-redis与此相关,其中包含我们如何执行此操作的示例,这可能会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)