Spring Boot 微服务的集中授权

时间:2021-01-08 18:21:45

标签: spring-security authorization microservices netflix-zuul role-base-authorization

我使用位于 Zuul API 网关后面的 Spring Cloud 构建了几个微服务,我正在使用 Spring Security Saml 2 对用户进行 LDAP 身份验证,一旦用户通过身份验证,我就会生成一个 JWT 令牌并将其传递给客户端正在传入 API 访问的标头中,Zuul 拦截传入的调用并验证令牌,这很好用,现在让我感到困惑的是我如何处理用户授权,并有 2 种方法

  1. 一种方法是使用 spring 安全注释对我的控制器进行注释,并在资源/控制器级别配置所需的角色,但如果资源和角色映射发生任何变化,这将导致部署新版本的服务

  2. 另一种方法是创建一个服务,该服务在 DB/Cache 中保存资源到角色(和权限)的映射,并让 Zuul 过滤器查询此服务并决定是否允许用户继续进行,好处是我有更大的灵活性,对资源和角色映射的任何更改都不会导致我的服务的部署,但在这种情况下,我必须编写所有这些代码,而且时间有点短

是否有任何现成的服务可以提供 #2 开箱即用的服务?

0 个答案:

没有答案