当前位置: 首页 > 知识库问答 >
问题:

多租户混乱

鄂坚
2023-03-14

我使用MultiTenantConnectionProviderCurrentTenantIdentifierResolver配置了hibernate的多租户。我还编写了一个过滤器,截取url并确定谁是租户。

我有几个问题/困惑。

>

这种方法合适吗?我也想过在用户会话中存储租户标识,但我认为这不是一个好主意。(在过去,我在会话中存储东西时遇到过问题,在某些情况下有其局限性)。

我对这两种方法感到困惑,请问还有第三种方法吗。对于多租户,我选择了hibernate的SCHEMA策略。

共有1个答案

东门玺
2023-03-14

实现多租户设计的最佳方法是在每个事务表中都有租户ID,并有一个主表来存储租户信息。

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

 类似资料:
  • 目前为止,我们已经让用户页面在多租户风格下工作。为使它工作,我们看起来并没有做太多的变化。但请记住,我们正在对一个原来不是多租户的系统作修改。 让我们在 Roles 表应用类似的原则。 再一次,一个租户的用户在不能查看或修改其他租户的角色,每个租户的用户是相互独立工作的。 我们先在 RoleRow.cs 添加 TenantId 属性: namespace MultiTenancy.Administ

  • 问题内容: Tl; dr:有没有方法可以覆盖默认行为? 在我的django项目中,我有很多网址,例如 允许使用以下网址 这样,我便可以使用自定义中间件来修改请求,以包括基于使用我的网站的公司的一些特定详细信息 这一切工作正常,除了当Django试图破译与完整路径和… 它似乎作为正则表达式的默认匹配返回。由于该方法具有用于映射到的转义映射 该标签我已经能够覆盖更换正确的公司名称,我想知道是否有类似的

  • 由于我们现在有一个行为处理仓储的详细信息,我们只需在行(rows)实现 IMultiTenantRow 接口并添加 TenantId 属性。 从 SupplierRow.cs 开始: namespace MultiTenancy.Northwind.Entities { //... public sealed class SupplierRow : Row, IId

  • 我们正面临着解决这个问题的艰难时刻!我们正在尝试在不使用默认租户的情况下为Spring Boot服务使用MTA。这意味着当当前上下文中没有租户时,我们希望从我们的CurrentTenantIdentifierResolver实现返回null。这在我们用JavaEE+Hibernate+Deltaspike数据构建的其他服务中运行良好,但在Spring服务启动时失败。 异常消息如下:“由:org.h

  • 全新的,查看wso2 API管理器1.8.0。我为一家拥有多个组织/团队的公司工作,所以建立多租户似乎是合乎逻辑的选择。 按照《快速入门指南》,我首先创建了一个新租户,给它一个“dev.api.myorg.company.net”域,添加了一些用户,我可以登录。我添加了一个API。 我能够使用商店中列出的URL命中endpoint: http://wso2server。公司net:8280/t/d

  • 我们现在有点问题:因为用户 tenant2 有 Administration:Security 权限,所以他可以访问用户和角色权限对话框。因此,他可以使用权限 UI 给自己授予 Administration:Tenants 权限。 Serenity 扫描程序集的特性,比如 ReadPermission、WritePermission、PageAuthorize、ServiceAuthorize 等