跳到主内容

权限配置

让我们依次解释 Permission 配置页面中的每一项。

  • Organization:该策略所属的组织名, 一个组织可以拥有多个权限策略文件。
  • Name:权限策略名称,在组织中全局唯一。 用于标识该权限策略文件。
  • Display name:没什么重要的。
  • Model:描述权限策略结构及其匹配模式的模型文件名称。
  • Adapter:注意! 在当前版本中该字段描述的是存放权限策略的数据库表名,而非在 Casdoor Web UI 中的 Adapter 菜单项所配置的适配器名称。 Casdoor 会使用其自身的数据库来存放正在配置的权限策略。 如果该字段为空,权限策略将被存储至 permission_rule 表中,否则将存储在指定的数据库表中。 如果指定的表名在 Casdoor 所使用的数据库中不存在,将会自动创建。 我们强烈建议为不同模型指定不同的适配器, 因为将所有的策略保存在同一个表格中可能导致冲突。
  • Sub users:哪些用户将被应用该权限策略。
  • Sub roles:如果使用了RBAC模型,哪些角色将被应用该权限策略。 这将为该角色中的每一个用户添加诸如 g user role 的权限策略。
  • Sub domains:哪些域将被应用该权限策略。
  • Resource type:事实上,在当前版本中,对于外部希望鉴权的应用来说,Casdoor 并没有使用该字段。 你可以暂且忽略它。
  • Resources:这个字段描述了你希望强制实施权限控制的资源。 但请注意,这里的资源并非在 Casdoor Web UI 的 Resources 菜单项中所配置的资源。 你可以在此处添加任何你所希望的字符串,例如一个 URL 或者一个文件名。
  • Actions:这个字段描述了操作资源的动作。 与资源相同,它可以是任何你所希望的字符串,例如 Http Method 或其他自然语言。 但是请注意,Casdoor 会将这些字符串全部转化成为小写再存储。 另外,Casdoor 将会为每一个资源应用所有的动作。 你无法指定某个动作只对某些资源生效。
  • Effect:这个选项对于 Casdoor 自身控制应用访问权限生效。 如果你希望外部应用使用 Casdoor 所暴露的接口来强制实施权限控制,它不会起到任何作用。 你应该在 Model 文件中描述模式匹配后的作用。

你可以看到,这个配置页面几乎就是为 (sub, obj, act) 模型量身定制的。