# 权限系统
# 权限
权限是针对某一特定的功能和操作的限制。
目前包括以下权限:
文档查看、内容编辑、新建删除文档批注、新建删除文档评论、新建删除文档(多级)、文档分享、文档打印导出、文档移动、文档复制、协作者管理(增、删)、管理员管理(增删)、转让文档文件夹空间。
权限会随着功能的迭代不断扩充。
# 角色
角色是一系列权限的集合。
用户对于一个文件、文件夹、快捷方式的实际权限通过角色实现。
内建的角色包括:访客、成员、管理员、所有者四种,角色支持自定义。
# 对照表
序号 | 功能权限 | 访客 | 成员 | 管理员 | 所有者 |
---|---|---|---|---|---|
1 | 文档查看 | ✅ | ✅ | ✅ | ✅ |
2 | 内容编辑 | ✅ | ✅ | ✅ | |
3 | 新建、删除文档批注 | ✅ | ✅ | ✅ | |
4 | 新建、删除文档评论 | ✅ | ✅ | ||
5 | 新建(多级) | ✅ | ✅ | ✅ | |
6 | 删除文档(多级) | ✅ | ✅ | ||
7 | 文档分享 | ✅ | ✅ | ✅ | |
8 | 文档打印、导出 | ✅ | ✅ | ✅ | |
9 | 文档移动 | ✅ | ✅ | ||
10 | 文档复制 | ✅ | ✅ | ||
11 | 协作者管理(增、删) | ✅ | ✅ | ||
12 | 管理员管理(增删) | ✅ | |||
13 | 转让文档文件夹空间 | ✅ |
# 所有者
即协作文件或文件夹的创建者,所有者拥有最高级别的权限。
如果其他协作者在协作文件夹下创建了子文件/子文件夹,这些子文件/子文件夹的所有者,与最高级的协作文件夹的所有者一致。
注意,创建者仅表明文档实际的创建人,不是一种权限相关的角色,也不与任何权限有关的功能关联。
所有者可以转让。
# 协作者
访客、成员、管理员统称为协作者。
由所有者或者拥有协作者管理权限的角色添加,根据权限的不同分为访客、成员和管理员三种,具体权限参照上表。
协作者角色还可从上级文件夹继承,包含以下特点:
- 实际权限遵循“就近原则”,即本级直接授权的角色优先级高于从上级继承的角色。
- 继承的层级没有限制,当上级文件夹没有直接授权时,自动向更上一级继承。
- 继承的角色是自动和实时的。当上级文件夹的角色变更时,所有下级文件/文件夹的继承角色会实时变更。
# 角色继承示例
假设有以下“协作文件夹”,包含三个文档。
协作文件夹
├── 文档1
├── 文档2
└── 文档3
有用户张三,在“协作文件夹”上被赋予了“成员”角色。同时,在“文档1”上,被赋予了“访客”角色。则实际权限如下:
协作文件夹(可编辑)
├── 文档1(仅查看)
├── 文档2(可编辑[继承])
└── 文档3(仅编辑[继承])
对于“文档1”,张三只有查看的权限而无编辑的权限。
这时候,将“协作文件夹”张三的角色改为“访客”,则实际权限变为:
协作文件夹(仅查看)
├── 文档1(仅查看)
├── 文档2(仅查看[继承])
└── 文档3(仅查看[继承])