【发布时间】:2018-03-18 13:00:55
【问题描述】:
我对 Spring Boot(和一般)中微服务的安全性有误解。我想使用 Spring 框架和微服务构建一个项目,但在架构规划中我卡住了。微服务的安全性到底应该如何?在我看来,所有项目都应该是一个组件,所有请求都会抛出该组件并传播到其他组件。我能找到它是 Spring Cloud Zuul,它是微服务中的 api 网关,我想创建一个项目来响应网关并在组件中添加安全性。我的意思是它类似于一个包含 Spring Cloud Zuul、Spring Security、Spring Data JPA 依赖项的项目。您如何看待提供安全性的好方法?是否可以构建类似的东西?
【问题讨论】:
-
您可以在网关中添加身份验证,您是否查看过 JSON Web Tokens?您可以在网关上验证和管理令牌,然后将它们传递给各个服务。
-
如果我在网关组件中添加安全配置并对用户进行验证,这不是问题,而是如何为其他服务中的方法添加安全性。我的意思是例如@PreAuthorize() @PostAutorize() 等。我只想在一个地方添加安全配置以及与此相关的所有内容。我没有想象如何做到这一点。我不想在所有服务中复制安全配置
标签: java spring spring-mvc spring-security spring-cloud