# 权限系统

# 权限

权限是针对某一特定的功能和操作的限制。

目前包括以下权限:

文档查看、内容编辑、新建删除文档批注、新建删除文档评论、新建删除文档(多级)、文档分享、文档打印导出、文档移动、文档复制、协作者管理(增、删)、管理员管理(增删)、转让文档文件夹空间。

权限会随着功能的迭代不断扩充。

# 角色

角色是一系列权限的集合。

用户对于一个文件、文件夹、快捷方式的实际权限通过角色实现。

内建的角色包括:访客、成员、管理员、所有者四种,角色支持自定义。

# 对照表

序号 功能权限 访客 成员 管理员 所有者
1 文档查看
2 内容编辑
3 新建、删除文档批注
4 新建、删除文档评论
5 新建(多级)
6 删除文档(多级)
7 文档分享
8 文档打印、导出
9 文档移动
10 文档复制
11 协作者管理(增、删)
12 管理员管理(增删)
13 转让文档文件夹空间

# 所有者

即协作文件或文件夹的创建者,所有者拥有最高级别的权限。

如果其他协作者在协作文件夹下创建了子文件/子文件夹,这些子文件/子文件夹的所有者,与最高级的协作文件夹的所有者一致。

注意,创建者仅表明文档实际的创建人,不是一种权限相关的角色,也不与任何权限有关的功能关联。

所有者可以转让。

# 协作者

访客、成员、管理员统称为协作者。

由所有者或者拥有协作者管理权限的角色添加,根据权限的不同分为访客、成员和管理员三种,具体权限参照上表。

协作者角色还可从上级文件夹继承,包含以下特点:

  • 实际权限遵循“就近原则”,即本级直接授权的角色优先级高于从上级继承的角色。
  • 继承的层级没有限制,当上级文件夹没有直接授权时,自动向更上一级继承。
  • 继承的角色是自动和实时的。当上级文件夹的角色变更时,所有下级文件/文件夹的继承角色会实时变更。

# 角色继承示例

假设有以下“协作文件夹”,包含三个文档。

协作文件夹
├── 文档1
├── 文档2
└── 文档3

有用户张三,在“协作文件夹”上被赋予了“成员”角色。同时,在“文档1”上,被赋予了“访客”角色。则实际权限如下:

协作文件夹(可编辑)
├── 文档1(仅查看)
├── 文档2(可编辑[继承])
└── 文档3(仅编辑[继承])

对于“文档1”,张三只有查看的权限而无编辑的权限。

这时候,将“协作文件夹”张三的角色改为“访客”,则实际权限变为:

协作文件夹(仅查看)
├── 文档1(仅查看)
├── 文档2(仅查看[继承])
└── 文档3(仅查看[继承])