平台跨租户运营在多租户下的实现

Blade 未结 3 255
six_six_2005
six_six_2005 2025-06-23 16:56

一、该问题的重现步骤是什么?

1. 在多租户下,开发一个消防云平台, 各项目归不同租户是没有问题,现在有跨租户需求是:平台运营方要能看到所有租户所有项目的报警,消防大队能看到所辖区域的所有项目的报警,这里都涉及跨多个租户,这种工作模式框架能提供什么样的支持?都放到000000租户下也不合适吧?如果给消防大队单独建一个特殊租户也很难实现吧




二、你期待的结果是什么?实际看到的又是什么?

既支持多租户看到自己的设备,租户之间隔离,又能

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

3条回答
  •  admin
    admin (楼主)
    2025-06-23 17:15

    正常情况,不同的辖区不应作为独立的租户,应该是走组织架构的模式,然后数据权限就能很方便地通过上下级部门来进行查询。


    但如果你们一定需要一个区做一个租户,如果你们是字段隔离,可以二开实现(如果是数据库隔离则不支持)。

    大概逻辑如下:
     1. 模仿组织架构,创建一个租户架构模块
     2. 租户有上下级关系,可以根据一个租户,找到他下属的所有租户ID集合

     3. 二开Blade的租户插件,文件在BladeX-Tool的blade-starter-tenant包内的 BladeTenantInterceptor.java 

     4. 修改这个类的逻辑,租户id的等于号改成 in,然后in 的内容变成当前租户id+他的子租户id集合。

     5. 后续测试查询逻辑

提交回复