使用Spring Boot的微服务中的安全问题

Dav*_*ave 4 java spring spring-mvc spring-security spring-cloud

我在春季启动(和一般)的微服务中误解了安全性.我想使用Spring框架和微服务构建一个项目,但在架构规划中我陷入了困境.微服务中的安全性应该如何?在我看来,在所有项目中应该是一个组件,所有请求都抛出组件并传播到其他组件.我可以找到它是Spring Cloud Zuul,它是微服务中的api网关,我有想法制作一个响应网关的项目,并在组件中增加安全性.我的意思是它将类似于包含Spring Cloud Zuul,Spring Security,Spring Data JPA依赖项的项目.您认为提供安全性的好方法如何?有可能建立这样的东西吗?

Ind*_*sak 6

在我参与的项目中,我们使用了几个不同级别的安全性:

  • 安全在个别航线水平Zuul.
  • 每个内部服务的安全性

以下是我们的Spring Cloud项目中使用的安全模型的流程图,

  1. 当Zuul收到请求时,它会检查请求是否存在路由.
  2. 如果存在路由,则根据自定义配置检查路由是否受到保护.
  3. 如果路由是安全的,请对请求进行身份验证.
  4. 一旦在Zuul对请求进行了身份验证,Zuul将再次检查是否根据配置保护要路由请求的内部服务.
  5. 如果内部服务受到保护,则在将服务路由到内部服务之前,根据用户凭据(存储在自定义配置中)创建新的身份验证标头.
  6. 一旦内部服务收到来自Zuul的请求,它就会检查是否需要对请求进行身份验证.
  7. 经过身份验证后,处理请求并将响应发回.