第4章 客户管理实战:客户概念、创建客户、客户与租户的关系、客户管理员管理

好,咱们继续往下走。

上一章我们把租户层面的权限讲透了。这一章,咱们聊聊客户管理。

说实话,客户管理是ThingsBoard里最容易让人迷糊的地方。我刚开始接触时,也搞混过客户和租户的关系。你想想看,一个平台里既有租户又有客户,到底谁管谁?

别急,咱们一步步拆开来看。

4.1 客户到底是什么?

客户,英文叫Customer。在ThingsBoard里,客户是租户的下级实体。

说白了,租户是“房东”,客户是“房客”。租户买了平台的使用权,然后把自己的设备、数据、仪表盘分配给不同的客户去使用。

举个例子:

  • 租户是一家物业公司
  • 客户就是物业公司管理的各个小区
  • 每个小区有自己的设备、自己的管理员、自己的仪表盘

嗯,这样理解就清晰多了。

核心要点:客户不能独立存在。每个客户必须属于一个租户。客户能看到的数据,仅限于租户分配给它的那些。

4.2 创建客户——实操走一遍

创建客户的操作其实很简单。但我建议你养成一个好习惯:创建之前,先想清楚客户的命名规则。

我在项目中遇到过这样的情况:客户数量一多,名字乱七八糟的,什么“张三”、“李四”、“测试客户1”、“临时客户”……最后查数据时头都大了。

所以,我个人习惯用“公司名+城市”的格式,比如“蓝海科技-北京”、“蓝海科技-上海”。这样一眼就能看出是哪个客户。

创建步骤:

  1. 登录租户管理员账号
  2. 左侧菜单找到“客户”
  3. 点击右上角的“+”号
  4. 填写客户信息

关键字段说明:

字段 说明 我的建议
标题 客户名称,必填 用有意义的名称,别用“测试”
邮箱 客户管理员登录邮箱 建议用公司邮箱,方便找回密码
电话 联系方式 选填,但建议填上
国家/城市 地理位置信息 多租户场景下很有用

小技巧:创建客户时,可以顺便勾选“同时创建客户管理员”。这样一步到位,省得后面再单独创建。

4.3 客户与租户的关系——这张图要刻在脑子里

租户和客户的关系,我画个简单的逻辑图给你:

租户(Tenant)
  ├── 自己的设备、仪表盘、规则链
  ├── 自己的管理员(租户管理员)
  └── 客户1(Customer1)
  │     ├── 客户管理员
  │     ├── 被分配的设备
  │     └── 被分配的仪表盘
  └── 客户2(Customer2)
        ├── 客户管理员
        ├── 被分配的设备
        └── 被分配的仪表盘

看到了吗?客户不能自己创建设备。设备是租户创建的,然后“分配”给客户。

为什么会这样设计?

我理解的是:设备的所有权始终在租户手里。客户只是“借用”这些设备。哪天客户不续费了,租户可以随时收回设备,数据还在,不会丢失。

注意:客户管理员登录后,只能看到分配给它的设备和仪表盘。它看不到租户的其他客户,也看不到租户的全局配置。这是多租户隔离的核心。

4.4 客户管理员管理

每个客户可以有自己的管理员。这个管理员负责管理自己客户下的设备和用户。

创建客户管理员有两种方式:

方式一:创建客户时同步创建

刚才提到了,创建客户时勾选“同时创建客户管理员”,填好邮箱和密码就行。

方式二:客户创建后单独添加

进入客户详情页,找到“管理员”选项卡,点击“添加管理员”。

客户管理员的权限范围:

  • 查看分配给本客户的设备
  • 查看分配给本客户的仪表盘
  • 管理本客户下的用户(如果有子用户的话)
  • 查看本客户的数据
  • 不能查看其他客户的数据
  • 不能修改租户级别的配置

我曾经踩过一个坑:给客户管理员分配了“租户管理员”角色。结果这个客户管理员能看到所有客户的数据。嗯,这显然不是我们想要的。

所以,记住一句话:客户管理员只能管自己的一亩三分地。

4.5 实战中的常见问题

Q:一个客户可以有多个管理员吗?
A:可以。在客户详情页的“管理员”选项卡里,可以添加多个管理员。

Q:客户管理员能修改自己的密码吗?
A:可以。登录后右上角用户头像,点“更改密码”。

Q:客户能看到租户的其他客户吗?
A:不能。这是隔离的。客户管理员登录后,只能看到自己的客户名称。

Q:如果客户不想要了,怎么删除?
A:在客户列表页,点击删除按钮。注意:删除客户会同时删除该客户下的所有用户和数据。操作前请三思。

总结一下:客户管理是多租户权限管理的第二层。租户是“房东”,客户是“房客”。设备归租户所有,但可以分配给客户使用。客户管理员只能管自己的客户,不能越界。

下一章,我们会聊到设备层面的权限控制。到时候你会发现,这三层权限体系(租户→客户→设备)环环相扣,缺一不可。

好,这一章就到这里。有什么问题,欢迎随时交流。