Java 使用Spring Boot的微服务中的安全问题
我误解了spring boot(和general)中微服务的安全性。我想用Spring框架和微服务构建一个项目,但在架构规划方面我遇到了困难。微服务的安全性到底应该如何?在我看来,在所有的项目中都应该有一个组件,所有的请求都会抛出该组件并扩展到其他组件。我能找到的是SpringCloudZuul,它是微服务中的api网关,我想到了制作一个项目,它是对网关的响应,并在组件中添加安全性。我的意思是,它将类似于一个包含SpringCloudZuul、SpringSecurity和SpringDataJPA依赖项的项目。您认为提供安全性的好方法是什么?有可能构建这样的东西吗?我想这里的答案可能会对你有所帮助,他们说的是使用防火墙限制从出站IP的访问,只允许zuul gateway访问所有微服务Java 使用Spring Boot的微服务中的安全问题,java,spring,spring-mvc,spring-security,spring-cloud,Java,Spring,Spring Mvc,Spring Security,Spring Cloud,我误解了spring boot(和general)中微服务的安全性。我想用Spring框架和微服务构建一个项目,但在架构规划方面我遇到了困难。微服务的安全性到底应该如何?在我看来,在所有的项目中都应该有一个组件,所有的请求都会抛出该组件并扩展到其他组件。我能找到的是SpringCloudZuul,它是微服务中的api网关,我想到了制作一个项目,它是对网关的响应,并在组件中添加安全性。我的意思是,它将类似于一个包含SpringCloudZuul、SpringSecurity和SpringDataJ
在我参与的项目中,我们在几个不同的级别上使用了安全性:
- 在Zuul中,个人路线级别的安全性
- 每个内部服务的安全性
我认为你可以考虑使用OAuth. 它使用JWT(JasonWebToken),这是一个与所有请求/响应一起传递的令牌。
您可以在此处找到详细信息:您可以在网关中添加身份验证,您查看过JSON Web令牌吗?您可以在网关上验证和管理令牌,然后将它们传递给各个服务。如果我在网关组件中添加安全配置并对用户进行验证,那么问题不在于如何为其他服务中的方法添加安全性。我的意思是,例如@PreAuthorize()@PostAutorize(),等等。我只想添加一个位置安全配置以及与此相关的所有内容。我没有想象力怎么做。我不想在所有服务中重复安全配置