Tailwind CSS on GitHub
EN中文

Permissions

一个企业级的服务,必定要拥有完善的权限管理,Datav就是这种产品。

Datav的权限管理分为三种:全局权限管理、团队权限管理、仪表盘权限管理,先从团队权限管理开始讲起。

团队权限

一个团队,可以管理其中的成员,进行团队设置,创建团队的仪表盘等等,这种权限是跟角色息息相关。

团队拥有三种角色:Viewer、Editor、Admin,其中

  • Viewer: 可以查看团队信息和团队拥有的仪表盘
  • Editor: 在Viewer基础上,可以编辑团队拥有的仪表盘
  • Admin: 在Viewer和Edtor基础上,可以管理团队成员,进行团队设置等

还记得在前面章节我们创建的团队test和用户test吧,现在来进行下权限设定:

  1. 在侧边菜单选择配置管理 -> 团队 -> 查看test,并确认test用户已经在该test团队中
  2. test用户所在的行点击编辑
  3. 修改test用户的角色为Admin,并提交保存
  4. 登陆test用户,然后再次进入团队,观察有何不同之处

全局权限

实际上说Datav没有特有的全局管理员,我们使用了一个巧妙的设计,把global团队的管理员自动设置为全局管理员, global团队的创建者admin用户则是 全局超级管理员,拥有一切权限,因此请保护好admin用户的密码。

注意,global团队和admin用户都无法修改自己的名称,并且无法被删除!

全局管理员拥有非常高的权限,可以管理所有团队的信息,进行Datav的全局设置管理,添加用户到Datav中等等,同时全局管理员可以查看和编辑所有的仪表盘(可以通过特殊的方式进行设置,让仪表盘对全局管理员也不可见,此举是为了保护 保密性很高的仪表盘,只能被指定的团队和用户查看)。

因此,当你遇到解决不了的问题,就去找global团队的全局管理员,他们可以帮你解决。

仪表盘权限

仪表盘的权限管理是整个Datav最重要的部分,特定的仪表盘只能被特定的人查看和编辑,这是非常常见的需求。

仪表盘的权限管理可以从两个维度进行设置:团队和用户。

团队维度

每一个仪表盘都是唯一属于某个特定团队的,默认创建的仪表盘是属于global团队。

先来看看怎么创建属于特定团队的仪表盘:

  1. 选择侧边菜单的配置管理 -> 团队 -> 查看test团队
  2. 在页面的左上方点击新建仪表盘

创建成功后,在当前仪表盘页面的右上角选择设置 -> 权限设置,可以看到所有者(团队)test团队,而不是global团队。所有者团队拥有对仪表盘的全部权限: 管理、删除、编辑、查看

在当前的仪表盘权限设置页面,还能控制哪些团队可以查看我们这个仪表盘: 在哪些团队可查看中进行设置。

权限细粒度控制

之前我们讲到团队角色有三种:管理员、编辑者、查看者以及他们各自的默认权限,这种默认权限其实是可以进行修改的:

  1. 在侧边菜单选择配置管理 -> 团队 -> 查看test -> 设置
  2. 在仪表盘权限中进行设置

其中Admin用户不能修改,因为他们拥有团队的几乎所有权限(不能删除团队,只能团队的所有者删除),你可以对Editor和Viewer进行控制。

权限分为几种:

  • View: 查看仪表盘
  • Add: 创建仪表盘
  • Edit: 编辑仪表盘,但是不能保存
  • Save: 保存仪表盘的修改
  • Delete: 删除仪表盘
  • Permission: 为仪表盘设置权限

以上的权限都可以任意组合来使用,这样的权限设计有什么好处呢?举例说明:你现在搭建了一个Demo,希望访客能够查看和编辑仪表盘,但是不能保存修改,应该怎么做呢?

  1. 访客默认肯定是在global团队,所以先在global团队创建仪表盘
  2. 访客是Viewer角色,因此我们为Viewer角色设置View、Edit两个权限 这样访客就只能查看和编辑,但是无法保存修改的内容了。

用户维度

仪表盘除了设置团队权限外,可以能从用户维度进行单独的控制:

  1. 进入之前创建的仪表盘,然后再进入设置页面,选择权限设置
  2. 用户权限设置区域,点击添加用户权限
  3. 编辑并提交(无需保存仪表盘即可生效)

注意,用户权限会覆盖掉该用户相应的团队角色的权限