<分区>
我们有一个单一的应用程序,包含 10 多项服务,例如在 Spring Rest 上开发的用户管理、车队预订、反馈等。
我们想迁移到微服务(Spring Boot + Cloud + Netflix OSS)。
以下是我的问题: 我们如何为所有休息服务(使用自己的用户数据库)实现安全性? 如何从安全的角度实现api网关?
<分区>
我们有一个单一的应用程序,包含 10 多项服务,例如在 Spring Rest 上开发的用户管理、车队预订、反馈等。
我们想迁移到微服务(Spring Boot + Cloud + Netflix OSS)。
以下是我的问题: 我们如何为所有休息服务(使用自己的用户数据库)实现安全性? 如何从安全的角度实现api网关?
最佳答案
这是一个有点宽泛的问题,但这是根据我的经验得出的解决方案。 如果您有自己的用户/密码数据库,然后应用 spring security,在每个微服务中包含 spring security,每个微服务中的 spring security 将在用户身份验证时查询您拥有的用户/密码和 session 的数据库。这样所有服务都将得到保护。
Oauth2 是另一种解决方案
https://spring.io/blog/2014/11/07/webinar-replay-security-for-microservices-with-spring-and-oauth2
关于spring-security - 如何使用 Spring 为我的微服务实现安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38629740/
相关文章:
spring-cloud - 我们如何有条件地路由到 Spring Cloud Gateway 中的不同 URL?有引用样本吗?
spring-boot - 如何在 Turbine 中添加额外的 Hystrix 指标聚合
java - 使用 rest web 服务的 spring security 登录
spring-mvc - Spring Security 自定义注销
java - HikariCP 的默认 maximumPoolSize
java - SpringBoot @SqsListener - 不工作 - 异常 - TaskRejectedException
java - 即使使用正确的用户名/密码,Spring 2.5 登录也没有响应
java - 将 Spring Security 与线程池结合使用会导致重用线程时出现竞争条件
spring-boot - 在类路径中具有 "spring-boot-starter-test"依赖项时无法启动 tomcat 服务器