Skip to content

多租户操作 ​

页面导读 ​

适用场景适合商业化交付中按机构、角色和用户隔离设备、产品、场景和业务数据。
前置条件已规划机构层级、管理员账号、角色权限、数据权限和终端用户注册策略。
操作路径机构管理 → 角色管理 → 用户管理 → 数据权限配置 → 设备/产品分配验证。
验收点上下级机构数据边界清晰,管理员权限正确,终端用户只能访问授权设备。

一、机构管理 ​

1、概述 ​

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

2、技术实现 ​

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

3、流程 ​

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

4、邀请码 ​

每个机构可设置一个唯一的邀请码,新用户在web端注册时可填写邀请码,并绑定该机构; 设置了邀请码的机构建议配置一个角色权限字符为(register)的角色,新用户注册到该机构时绑定该角色;

提示

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

  • 在小程序、APP端注册的用户属于终端用户,终端用户绑定的角色是超级管理员所属机构下的终端注册用户(terminalRegister)角色,其主键id标识必须为3;

  • 在web端注册的用户属于租户用户,第一种情况:注册时如果未填写机构邀请码,则默认注册到第一个机构,绑定的角色是超级管理员所属机构下的web端注册用户(webRegister)角色;第二种情况:如果填了机构邀请码,则注册到该机构,如果该机构有权限字符为(register)的角色,则绑定该角色,如果没有则绑定管理员(manager)的角色;

  • 每个机构有且只有一个管理员,不管是管理员还是机构下的用户,其创建的数据都属于这个机构;

邀请码页面截图邀请码页面截图邀请码页面截图

二、角色管理 ​

1、概述 ​

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

2、实现 ​

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

3、流程 ​

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

4、数据权限 ​

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

  • 本机构数据权限:只能查看本机构数据;
  • 本机构及以下机构数据权限:能查看本机构及所有下级机构数据;
  • 仅本人数据权限:只能查看本人创建的数据;

提示

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

数据权限页面截图数据权限页面截图数据权限页面截图

三、用户管理 ​

1、概述 ​

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

2、流程 ​

web后台创建用户时需选择机构,其中角色为该机构下的角色;移动端、小程序注册的用户属于终端用户,不绑定任何机构;

提示

  • 移动端、小程序注册的用户属于终端用户,不绑定任何机构;web端注册的用户属于租户,注册时可填入邀请码绑定对应机构;
  • 终端用户只可以登录小程序、移动端,租户用户可以登录所有平台;
流程页面截图

四、设备管理 ​

1、概述 ​

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

2、流程 ​

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

3、新增功能 ​

  • 新增设备:可以批量导入,也可手动添加
    新增功能页面截图

  • 分配设备:可以选择机构内设备分配给其他机构,也可以批量导入设备分配给机构
    新增功能页面截图新增功能页面截图

  • 用户设备:可以选择机构内设备分配给机构内其他用户,方便机构内用户之间设备隔离
    新增功能页面截图

  • 回收设备:可以把分配给其他机构的设备回收到自己机构下
    新增功能页面截图

  • 设备联动:通过机构层级关系,更方便快捷的查看各机构的设备情况
    新增功能页面截图

4、功能改动 ​

  • 终端用户:单独管理终端用户,其角色是第一个机构下的terminalRegister角色,请谨慎分配权限

  • 设备归属:设备表iot_device,使用tenant_id区分租户
    机构内创建设备归属该机构,并绑定到机构管理员;

  • 设备绑定:设备用户表iot_device_user
    终端用户可在小程序或App采用配网、扫码、关联方式添加设备;

功能改动页面截图
  • 设备分享:设备分享表iot_device_share

    租户可在设备分享管理设备的绑定和分享情况,请谨慎删除; 终端用户可以把已绑定的设备分享给其他终端用户:
    功能改动页面截图

  • 设备告警:设备告警用户表iot_device_alert_user

    以设备为维度,设备详情页面新增告警用户tab栏,当租户下的设备配了场景联动和告警,可以在告警用户页面添加通知用户,设备告警通知账号来源:通知模版配置的发送账号+告警用户页面配置的用户
    功能改动页面截图

五、指令权限 ​

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

六、其他模块 ​

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

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

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

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

5、产品固件、通用物模型、报表管理、工单管理:租户隔离;

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

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

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

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

七、后续开发 ​

1、优化完善版本

蜂信物联 | fastbee.cn