Spring Boot + Hibernate5中的多租户 - 每个租户的架构

时间:2017-03-18 16:45:12

标签: java spring hibernate spring-boot multi-tenant

我正在构建一个应该为多个租户服务的应用程序,并存储他们非常敏感的数据。每个租户都有多个用户。我的后端堆栈是用spring-boot + Hibernate5构建的。我希望hibernate能够处理多租户,所以我向专家提出两个问题:

  1. 假设我使用的是每个租户架构范例,如何在登录时将用户名与租户相关联?每个租户都拥有自己的用户表,因此我如何知道用户名所属的租户?
  2. 注册后,创建新架构的正确方法是什么 苍蝇?

2 个答案:

答案 0 :(得分:1)

如果我理解正确,我会使用以下内容:

  1. AbstractRoutingDataSource查找/构建正确的数据源
  2. 我基本上和多租户系统一样。使用 Liquibase处理架构创建和演变。但 liquibase不会创建目标模式,它只是创建表 因此,可能需要通过JDBC进行一些CREATE SCHEMA 客户配置。

答案 1 :(得分:0)

我使用Spring Boot 2实现了一个基于数据库的租户多租户Web应用程序,并使用Spring Security 5安全地访问了用户。我相信您可以根据自己的需要进行调整。我写过关于如何构建它并且还共享源代码的文章。看看here