# 用户权限

CloudBase CMS 在 2.0 版本中引入了新的权限管理体系,提供了基于角色的资源级权限管理,支持创建自定义用户、创建自定义角色等功能。

系统的用户、角色管理可以在系统设置中操作

# 概念

在使用权限管理前,我们需要了解下面的一些概念。下文中的“可访问”指代:创建、更新、删除、查询等复合操作,或其中的单一操作

# 角色

角色是系统资源可访问权限的载体,可以自由组合多种不同的系统资源访问权限,拥有较高的自由度。

在 CloudBase CMS 系统内置了 3 种角色,便于用户快速使用:

  • 系统管理员:允许管理系统内所有用户及其权限、所有内容、所有系统设置等
  • 项目管理员:允许管理系统内的所有项目及项目内的资源
  • 内容管理员:允许管理系统内,所有项目的所有内容文档

系统的内置的 3 种角色是不能修改、删除的。

# 权限规则

在创建角色时,需要通过权限规则,指定角色的资源访问权限。权限规则表明了此角色拥有的访问权限,一个角色可以拥有多个权限规则,此角色最终所拥有的权限由所有规则的并集组成。

权限规则由以下四要素组成

  • 项目:限制访问的项目
  • 操作:限制进行的操作,支持:查询、创建、修改、删除,以及全部操作等选择
  • 服务:限制访问的服务,包含:内容模型,内容集合,Webhook 等
  • 资源:限制可访问服务的具体资源示例:如内容模型中的单个模型,单个内容集合等

权限规则由以上的四要素组成,可以自由组合,单是也有一定的限制:

  • 当选择全部项目时,资源只能选择全部资源,因为不同项目间的资源不同,无法定义为权限的组成要素
  • 当服务为全部服务时,资源只能选择全部资源,因为不同类型的服务对应的资源也是不同的,无法定义为权限的组成要素

# 用户

即 CloudBase CMS 系统的用户,可以通过账号、密码登录到 CloudBase CMS 系统中。用户可以访问的资源由用户的绑定的角色决定,一个用户可以同时绑定多个角色,此用户最终所拥有的权限由所有角色的并集组合而成。

# 超级管理员

在部署 CloudBase CMS 系统时,需要用户指定管理员账号,此账号是 CloudBase CMS 系统的超级管理员,可以通过此账号管理 CloudBase CMS 的所有资源,包含创建新的超级管理员。超级管理员是 CloudBase CMS 系统中的特殊账号,无法被修改。

# 新建用户

# 新建角色

# 输入角色信息

# 指定权限

# 特别说明

    1. 用户必须拥有资源的查看权限,才能访问 CMS 系统,进行编辑等其他操作。
    1. 由于实现原因,即使用户没有编辑、删除等权限,依然可以看到编辑、删除等操作按钮,但是操作无效。