跳到主内容

概述

简介​

Casdoor 组织 中的用户默认可以访问该组织的应用。需要限制对特定应用或资源的访问时,使用基于 Casbin 的 权限 功能。

Casbin 概念​

了解 Casbin 的工作方式,有助于用好权限功能:

  • 模型(Model):定义权限策略的结构,以及请求如何匹配和判定。在 Casdoor 的 Models 页面配置模型。
  • 策略(Policy):定义具体的权限规则(谁可以对哪些资源做什么)。在 Casdoor 的 Permissions 页面配置策略。
  • 适配器(Adapter):抽象出策略的存储位置(例如文件或数据库)。详见 适配器。

:::提示

更多关于 Casbin 访问控制模型和模式的内容,见 Casbin 文档。可以用 Casbin 在线编辑器 创建和测试模型和策略文件。

:::

在 Casdoor 中配置权限​

在哪里配置​

在 Casdoor 网页界面中使用这两个地方:

  1. Models:在侧边栏打开 Models,为组织添加或编辑模型。

    模型编辑页

  2. Permissions:在侧边栏打开 Permissions,配置权限策略。

    权限编辑页

权限如何工作​

  1. 添加模型:在 Models 页面为你的 组织 创建模型。
  2. 配置策略:在 Permissions 页面为该组织添加策略(权限规则)。

在 Casbin 在线编辑器 中生成模型和策略文件,再通过网页界面把模型导入 Casdoor。策略的分步配置见 权限配置。

在应用中使用权限​

Casdoor 用自己的 Casbin 模型和策略控制对其 API 的访问。外部应用不能直接调用 Casbin,必须使用 Casdoor 为内置 Casbin 引擎提供的 API。

API 定义和用法见 开放的 Casbin API。

相关功能​

账号项权限​

在 Edit Organization 页面控制对单个用户账号字段的访问:

  • View rule:谁可以查看每个字段
  • Modify rule:谁可以修改每个字段

选项:Public(所有人)、Self(仅用户本人)或 Admin(仅管理员)。详见 账号定制。

基于角色的访问控制​

Casdoor 支持 角色:给用户分配角色,再把权限策略挂到角色上,这样就按角色而不是逐个用户管理访问。

下一步​