跳至主要內容

多租户操作

fastbee2024年9月27日大约 6 分钟

一、机构管理

1、概述

以机构维度实现多租户,分为上下级,上级机构可管理下级机构的数据,每一个机构就是一个租户、租户即是机构;

2、技术实现

通过在表结构添加tenant_id或user_id字段,实现租户隔离;

3、流程

整个系统最上层机构绑定系统管理员,可往下添加机构,其中设置的系统账号为该机构管理员:

提示

  • 第一个机构(蜂信物联)绑定超级管理员admin,其机构dept_id必须为100,需配置系统层面的部分业务,服务于终端用户,例如:三方登录、短信登录;

  • 在小程序、APP端注册的用户属于终端用户,终端用户绑定的角色是超级管理员所属机构下的终端注册用户(terminalRegister)角色,其主键id标识必须为3;在web端注册的用户属于租户用户,绑定的角色是超级管理员所属机构下的web端注册用户(webRegister)角色。请勿删除这两个角色,可对该角色分配相应的权限;

二、角色管理

1、概述

机构内可单独设置多个角色,也可管理下级机构的角色;

2、实现

创建机构时会默认创建一个管理员角色,该角色权限范围跟随当前操作者所属机构管理员的角色权限或者上级机构管理员的角色权限,该管理员角色绑定到机构设置的系统账号上;

3、流程

同一机构内管理员不可以更改自己管理员角色的权限,可更改机构内其他角色的权限;上级机构可更改下级机构的角色权限,其中下级机构管理员角色可更改范围跟随操作者所属机构管理员角色的权限范围,下级非管理员角色可更改范围为同机构内的管理员角色权限范围;

4、数据权限

新建机构时生成的管理员角色数据权限默认为本机构数据权限,新建角色时可选择权限范围,权限范围规则如下:

提示

每个机构只能有一个管理员角色,其权限字符为manager,不可删,请合理配置每个角色的权限范围;

三、用户管理

1、概述

机构可单独管理机构内用户,也可管理下级机构的用户;

2、流程

创建用户时需选择机构,其中角色为该机构下的角色;

提示

  • 终端用户只可以登录小程序、移动端,租户用户可以登录所有平台;

四、设备管理

1、概述

机构可单独管理机构内设备,也可管理下级机构的设备;

2、流程

新增设备时,产品来源为该机构和上级机构的产品,该设备绑定在机构管理员账号下;

3、新增功能

4、功能改动

五、指令权限

设备下发指令权限:租户管理员、终端用户有权限下发,租户内其他用户需分配权限才能下发,可在运维管理-指令权限下配置;

六、其他模块

1、协议管理、设备模拟、系统管理、系统监控、系统工具、Netty管理、EMQ管理:整个系统通用,不做租户隔离,可在配置角色时分配权限,谨慎分配;

2、产品分类:租户隔离,可以查看admin创建的数据,但是不可以修改;

3、产品管理:租户隔离,可以查看、使用上级机构的产品,但是不可以修改;

4、设备分组:租户隔离,终端用户隔离;

5、产品固件、通用物模型:租户隔离;

6、通知渠道、通知模版、通知日志:租户隔离,各机构单独配置,租户用户在小程序订阅设备告警模版使用归属机构配置的模版;终端用户短信登录、三方登录、小程序内订阅告警模版使用顶级机构配置内容;

7、规则引擎:租户隔离;终端用户创建的场景、告警记录归属自己;

8、云云对接、视频中心、数据可视化:租户隔离;

9、组态管理:租户隔离;

七、后续开发

1、优化完善版本

2、同机构不同用户做数据隔离