权限设计原则
文档所有者
- 一个文档可有多个所有者(包括 群组文档、文档库)
- 所有者可以将所有权分配给其他用户
- 所有者可以给其他用户配置访问权限(获得访问权的用户成为访问者),但不能配置自身的访问权限
- 在后台系统中,对于同一文档同一访问者,只能有一条显式权限,但允许有多条继承权限
- 在所有者的用户视图中,对于同一文档同一访问者,只有一条叠加权限(显式权限和继承权限的叠加),但可以看到全部的 锁定者、所有者、访问者 的权限列表
文档访问者
- 对于一个文档,访问者既不能给其他用户配置权限,也不能配置自身的权限,只能在最终权限的约束下访问该文档
- 在访问者的用户视图中,对于同一文档,除了显示自己的最终权限(各个相关访问权限的计算值),还可以看到全部的 锁定者、所有者、访问者 的权限列表
注意:
“文档”是对 文件 和 文件夹 的统称
部门B 即使包含了 用户成员A,但 用户A 与 部门B 仍是不同的访问者
基本权限
基本权限的定义
基本权限是指访问者访问某个文档对象的基本操作规则,这些规则具有原子性(不可再分割),是最小粒度的访问权限,包括以下 8 种:
显示:
对于文件夹来说,是允许显示文件夹对象
对于文件来说,是允许显示文件对象
预览:
对于文件夹来说,是允许打开文件夹,并显示其下的文件和子文件夹
对于文件来说,是允许打开文件,但只能查看文件内容,无法复制文件内容
下载:
对于文件夹来说,是允许将文件夹(包括其下的文件和子文件夹)从云端下载到本地
对于文件来说,是允许将文件从云端下载到本地
-
新建:
- 对于文件夹来说,
允许在其下创建文件和子文件夹
允许在其下移入新的文件和子文件夹(包括 拖拽、粘贴、另存为、移动至 等操作)- 对于文件来说,此权限无效
修改:
-
对于文件夹来说,
允许对文件夹重命名
允许与同名文件夹合并 -
对于文件来说,
允许对文件重命名
允许对文件内容编辑保存
允许被同名文件覆盖 删除:
对于文件夹来说,是允许删除文件夹到回收站
对于文件来说,是允许删除文件到回收站
拒绝:
对于文件夹来说,
拒绝显示 是拒绝显示文件夹对象
拒绝预览 是拒绝打开该文件夹
拒绝下载 是拒绝下载该文件夹(包括其下的文件和子文件夹)
拒绝新建 是拒绝在该文件夹下新建文件和子文件夹
拒绝修改 是拒绝 对该文件夹重命名 或 与同名文件夹合并
拒绝删除 是拒绝删除该文件夹(包括其下的文件和子文件夹)
- 对于文件来说,
拒绝显示 是拒绝显示文件对象
拒绝预览 是拒绝打开该文件
拒绝下载 是拒绝下载该文件
拒绝新建 对文件无效
拒绝修改 是拒绝 对该文件重命名 或 编辑保存 或 被同名文件覆盖
拒绝删除 是拒绝删除该文件
所有权:
对于文件夹来说,是允许对该文件夹的任何操作,并且允许给其他用户配置访问权限
对于文件来说,是允许对该文件的任何操作,并且允许给其他用户配置访问权限
版本升级后的兼容性处理如下:
-
对于服务端:
原来的“只读”权限相当于新的“显示”+“预览”+“下载”权限
原来的“修改”权限相当于新的“新建”+“修改”权限
原来的“拒绝只读”权限相当于新的“拒绝显示”+“拒绝预览”+“拒绝下载”权限
原来的“拒绝修改”权限相当于新的“拒绝新建”+“拒绝修改”权限 -
对于客户端:
客户端登录时一旦检测到服务端已更新,则强制升级至最新版本
在某些特殊情况下,如果服务端已更新,而客户端仍处于旧版本,则不支持正常的权限相关操作,用户试图操作时给出需要先升级的提示
基本权限的关系
基本权限之间的关系模型图如下:
如果基本权限之间发生冲突,则优先级关系为: 所有权>拒绝> 其它基本权限
显示 权限 是其它基本权限(除了 拒绝 和 所有权)的 基本前提 ,并与 拒绝显示 权限 互斥 :
如果配置了某用户的 显示 权限,则自动为该用户取消 拒绝显示 权限
如果取消了某用户的 显示 权限,则自动为该用户取消 预览、下载、新建、修改、删除 权限
预览 权限 依赖 显示 权限,并与 拒绝预览 权限 互斥 :
如果配置了某用户的 预览 权限,则自动为该用户添加 显示 权限,并取消 拒绝预览 权限
下载 权限 依赖 显示 权限,并与 拒绝下载 权限 互斥 :
如果配置了某用户的 下载 权限,则自动为该用户添加 显示 权限,并取消 拒绝下载 权限
新建 权限 依赖 显示 和 预览 权限,并与 拒绝新建 权限 互斥 :
如果配置了某用户的 新建 权限,则自动为该用户添加 显示、预览 权限,并取消 拒绝新建 权限
如果取消了某用户的 预览 权限,则自动为该用户取消 新建 权限
修改 权限 依赖 显示 和 下载 权限,并与 拒绝修改 权限 互斥 :
如果配置了某用户的 修改 权限,则自动为该用户添加 显示、下载 权限,并取消 拒绝修改 权限
如果取消了某用户的 下载 权限,则自动为该用户取消 修改 权限
删除 权限 依赖 显示 权限,并与 拒绝删除 权限 互斥 :
如果配置了某用户的 删除 权限,则自动为该用户添加 显示 权限,并取消 拒绝删除 权限
拒绝 权限 不依赖 其它的基本权限,但与其它基本权限是 互斥 关系,
如果配置了某用户的 拒绝显示 权限,则自动为该用户取消 显示、预览、下载、新建、修改、删除 权限
如果配置了某用户的 拒绝预览 权限,则自动为该用户取消 预览、新建 权限
如果配置了某用户的 拒绝下载 权限,则自动为该用户取消 下载、修改 权限
如果配置了某用户的 拒绝新建 权限,则自动为该用户取消 新建 权限
如果配置了某用户的 拒绝修改 权限,则自动为该用户取消 修改 权限
如果配置了某用户的 拒绝删除 权限,则自动为该用户取消 删除 权限
所有者 权限 不依赖 其它的基本权限,但相当于 包含 显示、预览、下载、新建、修改、删除 权限