当前位置: 首页 > news >正文

Thingsboard 租户管理员权限,增加租户普通用户权限

ThingsBoard CE(社区版)中,租户管理员拥有对规则链、客户、资产、设备、仪表板等资源的全面管理权限。如果你想为租户创建一个普通用户,并限制其不能操作规则链、高级功能、安全设置等,可以通过以下步骤实现:

一、系统管理员增加租户普通用户

 在增加用户时,增加一个单选框,分别为租户管理员、租户普通用户。Thingslink.cn - 物联网设备管理平台、智能设备调试、设备监控、设备接入

增加选择框的源代码修改如下:

1)在src\app\modules\home\pages\user\user.component.html增加单选框
<mat-radio-group [(ngModel)]="authority" name="authority" required>
          <mat-radio-button [value]="'TENANT_ADMIN'">{{ 'user.tenant-admin' | translate }}</mat-radio-button>
          <mat-radio-button [value]="'TENANT_USER'">{{ 'user.tenant-user' | translate }}</mat-radio-button>
        </mat-radio-group>

2)在src\app\modules\home\pages\user\users-table-config.resolver.ts 去掉对角色强制付值。
  saveUser方法去掉user.authority = this.authority;

3)在src\app\modules\home\pages\user\add-user-dialog.component.ts文件里对页面选项值的获取
  add()方法里
    this.user.authority = this.detailsForm.value.authority;   //this.data.authority;

4)在src\app\modules\home\pages\user\user-routing.module.ts文件里增加权限
const routes: Routes 方法里,增加
auth: [Authority.SYS_ADMIN, Authority.TENANT_ADMIN, Authority.TENANT_USER],

二、对租户普通用户这个角色增加采单权限,增加源代码里如:

Authority.TENANT_USER,[{name: 'customer.management',places: [MenuId.customers]},{name: 'asset.management',places: [MenuId.assets, MenuId.asset_profiles]},{name: 'device.management',places: [MenuId.devices, MenuId.device_profiles, MenuId.otaUpdates]},{name: 'entity-view.management',places: [MenuId.entity_views]},{name: 'edge.management',places: [MenuId.edges, MenuId.rulechain_templates]},{name: 'dashboard.management',places: [MenuId.widget_library, MenuId.dashboards]},{name: 'audit-log.audit',places: [MenuId.audit_log, MenuId.api_usage]},]

三、权限对比

  • 默认情况下,客户用户只能查看被授权的设备、资产、仪表盘,无法操作规则链、租户配置、安全设置

  • 如果你使用了 ThingsBoard PE(专业版),还可以通过 角色(Role)用户组(User Group) 进一步细化权限:

    • 创建自定义角色 → 只勾选“读取设备”“读取仪表盘”等权限。

    • 将用户加入该角色即可。

ThingsBoard CE(社区版),权限控制相对简化,建议通过客户层级来隔离权限

http://www.xdnf.cn/news/1367515.html

相关文章:

  • 三、显示3D文字
  • PLC通讯中遇到的实际场景
  • Mamba-HoME:面向3D医学影像分割的层次化专家混合新框架
  • 自然处理语言NLP: 基于双分支 LSTM 的酒店评论情感分析模型构建与实现
  • 透视光合组织大会:算力生态重构金融AI落地新实践
  • C语言 指针
  • 【设计模式】 面向对象基础
  • 打破技术壁垒的先进制造框架的智慧工业开源了
  • 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物的影响?
  • Mac安装mitmproxy及操作对监控的请求
  • Android Glide常见问题解决方案:从图片加载到内存优化
  • 使用 Docker、Jenkins、Harbor 和 GitLab 构建 CI/CD 流水线
  • Linux文件系统深入解析:从原理到实践
  • 通义灵码插件——AI 重构表单开发!半小时搭建可视化拖拽系统,效率碾压传统模式
  • 面试:Spring
  • MySQL 面试题系列(三)
  • week5-[循环结构]听歌
  • cuda编程笔记(16)--使用 cuDNN 实现卷积、激活、池化等反向操作
  • 淘宝/天猫商品详情API数据解析【附代码】
  • AP8105 PFM升压芯片数据手册
  • 支持向量机(SVM)学习笔记
  • 如何安装 VS2019 和 .NET Core SDK 2.2.301(winx64)?完整操作步骤(附安装包下载)
  • Ubuntu22.04安装OBS
  • 【软考论文】论自动化测试方法及其应用
  • 办公无纸化的关键:cpolar让Paperless-ngx远程扫描更便捷
  • 【Elasticsearch】k-NN 搜索深度解析:参数优化与分数过滤实践
  • 【SystemUI】锁屏来通知默认亮屏Wake模式
  • 32.Ansible平台搭建
  • 1424. 对角线遍历 II
  • 2024年Engineering SCI2区,面向工程管理的无人机巡检路径与调度,深度解析+性能实测