小编sri*_*ain的帖子

如何在微服务架构中实现基于角色的安全

我有一个带有 4 个微服务、eureka 服务器和一个集中式 API 网关的 spring-boot 应用程序。

所有外部流量都通过我的 API 网关到达我的微服务。

我的 API 网关 (Zuul) 正在验证和验证 JWT 令牌。

JWT 令牌由我的微服务之一在用户登录后生成(用户微服务),该令牌包含用户 ID 及其角色/权限。

现在,我想对网关以外的微服务中存在的方法实施基于角色的安全性。

我尝试使用,@PreAuthorize但它在网关之外不起作用(显然,为了使其工作,我必须SecurityContextHolder在我的微服务中设置一个 Spring Security 身份验证对象并用权限填充它)。

那么是否有任何解决方案可以实现这种安全性?

在微服务架构中设置安全性的最佳设计是什么?

API 网关级别的身份验证和微服务级别的授权?

在 API 网关级别验证 JWT 后,我是否需要在微服务中使用 spring security 或仅传递角色(将它们附加到请求中),例如创建我自己的注释并使用 Spring AOP 处理授权?

spring-security spring-boot microservices spring-cloud netflix-zuul

7
推荐指数
3
解决办法
3395
查看次数