SpringCloudZuul作为API网关

SpringCloudZuul作为API网关,spring,spring-security,microservices,spring-cloud,netflix-zuul,Spring,Spring Security,Microservices,Spring Cloud,Netflix Zuul,我是Spring Cloud的新手,即将启动一个使用Spring Cloud stack的微服务新项目,即Eureka、Zuul、Ribbon和Hystrix 应用程序将有一个哑UI,它将与后端服务交互以完成任务,后端服务本质上是rest的,并将使用Spring security支持的基于令牌的身份验证(使用JWT),因此下面将介绍应用程序的流程 身份验证服务:-身份验证服务将负责验证用户身份和验证访问令牌 Rest服务:其他服务将有自己的授权机制,即给定用户(通过JWT令牌标识)是否有权访问请

我是Spring Cloud的新手,即将启动一个使用Spring Cloud stack的微服务新项目,即Eureka、Zuul、Ribbon和Hystrix

应用程序将有一个哑UI,它将与后端服务交互以完成任务,后端服务本质上是rest的,并将使用Spring security支持的基于令牌的身份验证(使用JWT),因此下面将介绍应用程序的流程

  • 身份验证服务:-身份验证服务将负责验证用户身份和验证访问令牌
  • Rest服务:其他服务将有自己的授权机制,即给定用户(通过JWT令牌标识)是否有权访问请求的资源
  • 我已经使用JWT和Spring安全过滤器实现了相同的功能,但无法映射Zuul将如何适应这张图片,在浏览文档时,我遇到了ZuulFilters,它可以用来实现这一功能,但使用它,我需要在同一个位置拥有我的身份验证/授权机制,即Zuul,但我希望我的身份验证部分位于Zuul,并具有分布式授权,这将避免我在DB中配置每个rest资源到角色映射,并在Zuul为每个请求加载/读取该资源


    我浏览了一些博客/示例,但大多数都是关于SSO的内容,请有人给我写一篇博客文章或示例,谢谢你的帮助

    据我所知,您希望zuul只是一个api网关。写一个ZumFilter并通过身份验证服务检查传入请求的令牌,然后将请求传递给实际的微服务(如果提供了令牌并且令牌有效)。如果令牌中有必要的角色/权限,Microservice可以检查令牌


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

    看看这一点也可能对您有所帮助。。感谢您的回复@barbakini,我只使用了这种方法。