我们有一个单体应用程序,有 10 多个服务,如用户管理、车队预订、反馈等,在 spring rest 上开发。
我们想迁移到微服务(Spring Boot + Cloud + Netflix OSS)。
以下是我的问题:我们如何为所有其余服务(使用自己的用户数据库)实现安全性?如何从安全角度实现 api 网关?
我们有一个单体应用程序,有 10 多个服务,如用户管理、车队预订、反馈等,在 spring rest 上开发。
我们想迁移到微服务(Spring Boot + Cloud + Netflix OSS)。
以下是我的问题:我们如何为所有其余服务(使用自己的用户数据库)实现安全性?如何从安全角度实现 api 网关?
这是一个有点宽泛的问题,但根据我的经验,这是一个解决方案。如果您有自己的用户/通行证数据库,则应用 spring security,在每个微服务中包含 spring security,当用户进行身份验证时,每个微服务中的 spring security 将查询您拥有的用户/通行证和会话的数据库。这样所有服务都将得到保护。
Oauth2 是另一种解决方案
https://spring.io/blog/2014/11/07/webinar-replay-security-for-microservices-with-spring-and-oauth2