多租户混淆

时间:2017-04-06 10:05:22

标签: java spring hibernate multi-tenant

我使用MultiTenantConnectionProviderCurrentTenantIdentifierResolver使用休眠配置了多租户。我还写了一个截取网址的过滤器,决定谁是租户。

我有几个问题/困惑。

  1. 此设计意味着每个网址都必须带有租户ID(可能是域/子域名),对吗?怎么样呢?如何处理这种角落案件?

  2. 这种做法是正确的吗?我还考虑过在用户会话中存储租户ID,但我认为这不是一个好主意。 (过去我在会话中存储某些内容时遇到了问题,并且它在某些情况下有其局限性)。

    我对这两种方法感到困惑,是否有任何第三种方法请建议。我选择了SCHEMA hibernate的多租户策略。

1 个答案:

答案 0 :(得分:0)

实施多租户设计的最佳方法是在每个交易表中使用Tenant_ID,并在一个主表中存储租户信息。

我们需要发送tenant_id的每个请求。 如果您有默认租户要求,如果没有tenant_id来插入数据,您可以实现该行为。 您无法在另一个租户中插入一个租户数据,因此tenant_id是强制性的,Tenant_ID应该有适当的验证。