Spring Cloud Zuul作为API网关

时间:2017-03-07 07:35:12

标签: spring spring-security microservices spring-cloud netflix-zuul

我是Spring Cloud的新手,即将使用Spring Cloud堆栈开始一个微服务方式的新项目,即Eureka,Zuul,Ribbon和Hystrix。

该应用程序将具有一个愚蠢的UI,它将与后端服务交互以完成工作,后端服务本质上是休息的,并将使用由Spring安全性支持的基于令牌的身份验证(使用JWT),因此将遵循是应用程序流程

  1. 身份验证服务: - 身份验证服务将负责验证用户身份并验证访问令牌。
  2. 休息服务:其他服务将拥有自己的授权机制,即给定用户(从JWT令牌标识)是否可以访问所请求的资源。
  3. 我已经使用JWT和Spring安全过滤器来实现相同但不能映射Zuul如何适应这张图片,同时通过文档我遇到了ZuulFilters,可以用来实现这个但是使用这个我需要有我的身份验证/授权机制在同一个地方,即Zuul,但我希望我的身份验证部分在Zuul并具有分布式授权,这将使我免于将每个休息资源配置为DB中的角色映射,并且在zuul中为每个请求加载/读取。 / p>

    我已经浏览了一些博客/示例,但大多数人都在讨论SSO的内容,有人可以通过博客文章或示例来启发我,任何帮助都表示赞赏。

1 个答案:

答案 0 :(得分:0)

据我所知,你想把zuul作为api网关。编写zuulFilter并通过身份验证服务检查传入请求的令牌,然后传递请求实际的微服务(如果提供了令牌且有效)。如果必要的角色/权限在其中,微服务可以检查令牌。

短版是;如果你想在每个微服务中获得授权,zuul在这种情况下没有多大的作用(只是一个简单的api网关。)