权限管理

基于 Casbin 的权限管理,登录和授权在一个平台里

大多数身份产品只回答“你是谁”,“你能做什么”留给业务代码。Casdoor 内置了 Casbin 权限引擎,用 ACL、RBAC、ABAC 或自定义模型描述权限,业务系统调用一个 API 就能完成鉴权。

多种权限模型

ACL、RBAC、带域的 RBAC、ABAC,或者用 Casbin 的模型语法自定义。

角色和用户组

角色可以继承,用户组可以嵌套,权限可以授予用户、角色或用户组,并设置到期自动失效。

鉴权 API

提供单条和批量鉴权 API,业务系统传入用户、资源和操作,Casdoor 返回允许或拒绝。

MCP 按工具授权

AI 智能体调用 MCP 服务时,也按工具粒度授权。

相关能力

  • ACL
  • RBAC
  • ABAC
  • 自定义模型
  • 角色继承
  • 用户组
  • 资源级权限
  • 到期自动失效
  • 权限来源追溯
  • 批量鉴权 API
  • 职责分离检测(企业版)
  • 权限定期复核(企业版)
  • 分级管理(企业版)

Casbin 是什么

Casbin 是一个开源的权限库,支持 Go、Java、Node.js、Python、PHP、.NET、Rust 等多种语言,在 GitHub 上被大量项目使用,目前已进入 Apache 软件基金会孵化。Casdoor 和 Casbin 由同一个团队维护,Casdoor 的权限功能就是用 Casbin 实现的。

业务系统可以通过 Casdoor 的 API 集中鉴权,也可以把 Casdoor 里的策略同步到本地,用 Casbin 在进程内鉴权,两种方式用的是同一套模型和策略。

常见问题

RBAC 和 ABAC 怎么选?

权限主要按岗位划分时用 RBAC(基于角色);权限要根据属性动态判断时用 ABAC,比如“只能查看本部门的数据”“工作时间内才能审批”。Casdoor 两种都支持,也可以组合使用。

权限管理在哪个版本?

基于 Casbin 的权限管理是 Casdoor 的核心功能,每个版本都包含。企业版另外提供职责分离冲突检测、权限定期复核和集团分级管理等治理能力,以及基于 RBAC、ABAC 的细粒度权限方案设计。