我试图在ASP.NET Core 2.0中构建基于Web的SaaS解决方案,借助微服务架构,基于令牌的身份验证和服务将托管在Docker上。每个客户端都有自己的用户,产品和其他详细信息以及具有共享模式的多个数据库每个微服务都有自己的数据库(Schema-per-service)。
我遇到了障碍,我需要找到登录用户的数据库凭据(连接字符串),以便数据库连接将动态传递到相应的微服务以从各自的客户端数据库中获取数据?
答案 0 :(得分:0)
我认为您有一些微服务来处理客户端身份验证到他的SaaS帐户并生成令牌以使用SaaS微服务(如#34;私钥")正确吗? 它是微服务架构的完美案例:
现在有了这个微服务(我打电话给#34;环境微服务"),SaaS的任何其他微服务都需要请求环境微服务来获取客户端的配置(数据库连接字符串,存储系统等)。从这一点开始,您可以在每个服务上实现一些缓存策略,以将私钥映射到一组配置(如果您的模型允许,则保持持久数据库连接)。只需确保此缓存具有一个间隔,以根据环境微服务验证令牌和配置。