角色与权限

最后更新:2026年6月22日

假设你把同事 minji.kim@example.com 加入了服装店商城的 Space。你想把上架和修改商品的工作交给这位同事,但要把删除商品或对外公开商品的工作也交出去,就会让人有些不放心。像这样,把"一个 Space 内成员能做什么、不能做什么"事先定好的权限组合,就是 Space RoleSpaceRole)。

SpaceRole 不是给每一位成员单独配置权限,而是先做好一组权限,再把它套用到成员身上。例如,只要做好一个"只能阅读和修改商品"的角色,把这一个角色套用到负责上架商品的同事身上即可。即使成员越来越多,也不必每次从头配置权限。

本页先介绍 SpaceRole 是什么、能包含哪些权限,然后在服装店 Space 中亲手创建一个"商品上架负责"角色。

Space 角色与 Organization 角色不同

WEEGLOO 中有两处地方用来设定权限。这两者容易混淆,所以先划清界限。

  • Organization 角色(OwnerAdminMember)是在整个公司层面的等级。它决定谁可以做横跨整个 Organization 的事,比如邀请成员或新建 Space
  • SpaceRole 是某一个 Space 内部的权限。它决定成员在进入该工作空间后,处理内容的工作能做到什么程度,比如创建商品、修改商品、发布商品。

即使是同一位同事,也可以在不同的 Space 中给予不同的 SpaceRole。比如在商城 Space 中允许其修改商品,而在公司公告用的 Space 中只允许其阅读。本页只讲 SpaceRoleOrganization 角色以及成员的邀请与分配,请参阅组织与空间

角色中包含的内容:对什么,做什么动作

一个 SpaceRole 中包含的是"对什么对象、做什么动作、允许还是拒绝"。

首先,设定权限的对象分为三种。

  • Content Type:商品、公告之类的表单模板
  • Content:用该模板创建的一个个商品
  • Media:上传的照片、视频之类的文件

每种对象可以允许或拒绝的动作如下。

动作在界面上以英文显示。各动作的含义如下。

动作(界面显示)做什么
Read查看列表和内容
Create新建
Edit / Save修改已有的项目并保存
Delete删除
Publish发布,使其对外公开(传递)
Unpublish撤下发布,停止对外公开
Archive移入归档状态
Unarchive从归档中还原
All actions一次性允许以上所有动作

以服装店为例来说,"商品上架负责"角色对 Content(商品)允许 Read、Create、Edit,而不放入 Delete、Publish,像这样挑选动作放入。这样一来,同事可以创建和修改商品,但不能删除或对外公开。

Publish 是什么、发布后如何对外公开(传递),在状态与发布中详细介绍。

允许与拒绝

角色界面上分别有 允许 列表和 拒绝 列表。 做法是把想要让其能做的动作,一行一行地放入 允许 列表。 重要的一点是,没有放入允许列表的动作会被自动拒绝。 因此只要把想要给同事的动作放入允许列表,其余的不必另行屏蔽也会被屏蔽。

拒绝 列表是一种安全机制,用在"想要广泛允许,但只把特定部分作为例外屏蔽掉"的时候。 当一个动作同时被允许和拒绝命中时,拒绝始终优先。

缩小到特定种类、特定人员

在允许一个动作时,可以把这份允许只缩小到某一种类或特定条件。例如可以做如下缩小。

  • 只限一种:只对"商品" Content Type 生效,不对其他 Content Type 生效。
  • 只限自己创建的:只让该成员能处理自己亲手创建的 Content,不能动别人创建的。
  • 只限带有特定 Tag:只对带有指定 TagContentMedia 生效。

如果不另行缩小范围,该动作就会对相应对象的全体生效。例如,不缩小地允许阅读 Content,就能阅读所有 Content;缩小到"商品" Content Type,就只能阅读商品。

Tag 是什么,请参阅 Tag

创建 Space 时随附的 Administrator 角色

新建一个 Space 时,会自动随附一个名为 Administrator 的角色。这个角色是能够处理该 Space 内一切事务的最高权限角色。创建 Space 的人一开始就持有这个 Administrator 角色。

Administrator 角色是系统预设的角色,因此无法修改或删除。如果想缩小权限再给同事,就不要去改 Administrator,而是像下面这样另外创建一个新角色给他。

创建"商品上架负责"角色

现在就在服装店 Space 中,亲手创建一个要给同事的"商品上架负责"角色。这个角色对商品(Content)可以 Read、Create、Edit,但不能删除或发布。

  1. 在左侧菜单中点击 Role & Permission
  2. 点击列表右上方的 创建 按钮。
  3. Role 详情 标签页的名称栏中输入 商品上架负责。说明栏可以留空。

角色创建界面的 Role 详情标签页。名称栏中已输入"商品上架负责"的状态

接下来设定这个角色对商品(Content)能做的动作。动作以规则的形式,一行一行地放入 允许 列表,并在同一行一并选择要应用的范围(Content Type)。

  1. 切换到 Content 标签页。
  2. 点击 允许 下方的 +,添加一行规则。
  3. 在该行中把动作选为 Read,要应用的 Content Type 选为"商品"。(作者、Tag 栏保持"所有…"不变即对全体生效。)
  4. 用同样的方式再各添加一行 CreateEdit 规则。三行的 Content Type 都设为"商品"。
  5. 不要把删除(Delete)和发布(Publish)放入允许。没有放入允许的动作会被自动拒绝,因此同事无法删除或对外公开商品。

Content 权限标签页中,将 Read、Create、Edit 三条规则限定为"商品"并允许的状态

  1. 点击右上方的 保存 按钮。

当列表中出现 商品上架负责 时,角色就创建好了。它会与一开始就存在的 Administrator 一起显示。

Role & Permission 列表中同时显示"商品上架负责"和"Administrator"的界面

把创建好的角色给同事

创建好角色,并不意味着它会自动应用到某个人身上。创建好的角色必须套用到成员身上才会生效。

把同事分配到 Space 时,会一并选择其在该 Space 内将拥有的角色,这时选择刚刚创建的 商品上架负责 即可。如果同事已经在 Space 里,也可以在成员列表中更改该同事的角色来应用。还可以给一位成员同时赋予多个角色。这时各角色所允许的动作会全部合并,只要在任一角色中被允许的动作,该成员就能做。(拒绝压过允许,只在同一个角色内部成立。即使某个角色拒绝了,只要另一个角色允许,那个动作就能做。)

把成员分配到 Space 并选择角色的具体步骤,在组织与空间中介绍。

接下来要做的事

  • 组织与空间:把同事分配到 Space,并套用刚刚创建的角色。
  • 令牌:介绍让外部网站或程序(而非人)能够读取内容的访问令牌。令牌上也可以套用 SpaceRole 来缩小权限范围。
  • API 参考:介绍在程序中直接创建角色或处理权限规则时所需的请求格式等技术规范。