权限系统由 权限角色 和 权限规则 组成,系统为不同角色设置了不同的规则,并规定一个用户只能有一种角色,系统通过这种方式管理用户的权限。
角色包含 管理员、经理、艺术家、客户、外包方;
规则包含 查看、创建、更新、删除、访问;
权限系统用于判断用户是否有权操作 实体类型、字段、页面、功能菜单项 这四类数据,类型、角色、规则的关系如下表所示:
类型 \ 角色 | 管理员 | 经理 | 艺术家 | 客户 | 外包方 |
实体类型 |
查看 创建 更新 删除 |
查看 创建 更新 删除 |
查看 创建 更新
|
查看
|
查看 创建
|
字段 |
查看 更新 |
查看 更新 |
查看 更新 |
查看 更新 |
查看 更新 |
页面 |
查看 更新 删除 |
查看 更新 删除 |
查看
|
查看
|
查看
|
功能菜单项 | 调用 | 调用 | 调用 | 调用 | 调用 |
用户创建实体类型、字段、页面、功能菜单项时,系统会自动生成对应规则,用户无需手动创建角色或规则。
点击 用户菜单 – 全局设置 – 权限设置,打开权限设置界面如下图所示:
界面中四个标签页对应四种类型,每个标签页下的规则以列表的形式排列,点击一个折叠的列表元素,即可查看对应的规则。
一、实体类型标签页可以查看角色是否有权操作某种类型的实体。以 版本 权限为例:
管理员、经理拥有全部权限,艺术家拥有删除以外的权限,客户只能查看,合作方只能查看和创建。
取消勾选某角色下的 更新 规则然后保存,就能禁止该角色编辑 版本 的全部字段。
二、如果需要禁止角色编辑版本的某一个字段,可以进入 字段标签页。以版本的 版本代号 字段为例:
请在充分了解某字段的功能和使用场景后再决定是否关闭字段权限,避免错误操作影响使用体验。比如关闭 用户 (HumanUser)的 语言 (language)字段的更新规则会导致相应角色无法切换语言。
此外,字段自身还有 Read Only、Create Only 等属性,这些属性为真时也会禁止查看、更新该字段。在说 “不” 时,字段属性高于权限规则。
如果需要禁止艺术家在权限设置页面修改权限,可以在实体类型标签页下找到 权限角色,取消 艺术家 下方的 更新 勾选项。
三、页面标签页显示系统中全部页面的权限,点击展开按钮即可查看对应页面的权限规则。
页面权限标签页提供了三类规则:查看、更新、删除。这三类规则是针对单个页面实体的,与实体类型、字段标签页中的权限作用机制不同。
用户在打开页面,修改页面名称,保存页面设置时都需要判断页面权限。
四、功能菜单项标签页显示系统中全部功能菜单项的权限。
功能菜单项权限仅在用户使用功能菜单项时生效。想要禁止某角色使用某功能菜单项,关闭其访问权限即可。
最后:
权限系统允许为群组分配权限角色,群组中的用户都会受此影响。
系统还提供了一个权限扩展方案(开发中):设置权限角色的 基础权限角色(base_role)字段后,权限角色会继承基础权限角色的规则。用户可以创建一个新的权限角色,设置基础权限角色为管理员、经理、艺术家、客户、第三方中的一个,再添加一些额外规则,这种方式也受权限系统支持。
在可配置的权限系统之外,还有一些临时的特殊权限,比如我们在程序中禁止创建、修改、删除 InBoxType 和 InBox,这类特殊权限我们会视情况逐步移除。