ThingsKit开发指南-角色权限

本文拟在帮助使用者,快速了解平台角色的分类及权限的设计原则。

角色设计

角色设计是软件设计中的一个重要环节,它决定了用户在软件系统中的使用体验和交互方式。在本系统中包含四类角色,分别是:超级管理员平台管理员租户客户。以下是对应角色的关系及相关说明。

角色关系

ThingsKit开发指南-角色权限

角色说明

角色名称角色KEY描述
超级管理员SYS_ADMIN超级管理员角色为平台最高级角色,为了减少超级管理员的相关操作,其只管理整个系统中的 平台管理员 租户 及一些基础的功能。如需使用其他功能,则可使用快捷进入对应的角色进行管理。
平台管理员PLATFORM_USER平台管理员角色主要管理平台的 拓展功能 租户 及一些基础功能的相关操作,拓展功能例如:消息管理、平台通知、平台定制以及后续用户自定义拓展的功能。
租户TENANT_ADMIN租户角色为平台最重要的角色,它可以管理平台其自己创建的所有设备的相关操作。
客户CUSTOMER_USER客户角色为租户下所创建的角色,其只能查看租户分配给它设备

💡提示

由于平台管理员为thingskit衍生出的角色,在thingsboard并不存在对应的账号,所以不能通过平台管理员账号登录thingsboard页面进行相关操作。

权限设计

平台角色的访问为按钮级别,其基于(RBAC)安全模型来进行权限管理和控制。这种RBAC方法使得对用户和组的权限管理更加简单和灵活,同时也能确保系统的安全性和可靠性。

定义权限KEY

定义规范:API+公司名称+功能+操作类型

示例:api:yt:device:import

前端相关操作

ThingsKit开发指南-角色权限

后端相关操作

ThingsKit开发指南-角色权限

💡提示

后端使用了角色认证,如后端相关操作里面的“TENANT_ADMIN”代表只有租户管理员才有访问权限,即使其他角色分配了该权限KEY也无法正常访问后端API接口。