
Apache Casbin 是 Apache 基金会旗下全球开源授权标准项目,英特尔、阿里巴巴、腾讯、微软等众多知名企业均在线落地使用。它依托 PERM 元模型设计,原生兼容 ACL、RBAC、ABAC、多租户域等几乎所有授权场景,一套策略文件就能适配管理后台、API 服务、SaaS 平台、零信任架构等业务。
同时 Casbin 实现全语言统一标准,Go、Java、PHP、Python、Rust 各端引擎逻辑、API 完全一致,是企业避免重复开发权限模块的成熟标准方案。
php-casbin/yii-permission 是 Apache Casbin 官方维护的 Yii 专属适配扩展,负责打通 Casbin 权限引擎与 Yii 框架底层。2026年7月底正式推出 v3.0.0 大版本,整体重构底层代码,完整适配 Yii 3.0 现代化组件体系,全面遵循 PSR 系列开发规范。
最低运行环境升级至 PHP 8.2,充分利用 PHP 强类型、属性类型等新特性,从根源减少隐式转换带来的线上 Bug;同时完整适配 Yii3 全新依赖注入体系,统一采用 yiisoft/config 做容器配置,摒弃 Yii2 老式组件声明写法,贴合 Yii3 原生开发习惯。
Yii2 旧版本依靠控制器 Behavior 完成权限拦截,耦合严重、无法按路由分组复用;3.0 完全重构这部分逻辑,使用行业通用 PSR-15 HTTP 中间件替代原有控制器组件,内置两套核心中间件:
EnforcerMiddleware:全局、路由分组自动执行 Casbin 鉴权拦截;RequestMiddleware:统一解析请求上下文、提取登录用户信息。 权限逻辑彻底解耦,灵活挂载,复用性大幅提升。新增 AccessChecker 类,实现 Yii3 官方 AccessCheckerInterface 接口,业务代码无需改动,依旧使用 $user->can() 原生写法完成权限校验,底层交由 Apache Casbin 高性能引擎执行复杂规则判定:
if ($user->can('article.update', ['article' => $article])) {
// 执行文章更新业务逻辑
}
参照官方 GitHub Release 发布日志,本次版本更新要点整理:
$user->can() 语法。yiisoft/config 管理 DI 配置;同步升级 GitHub Actions CI 流水线,更新 PHP 多版本测试矩阵、优化代码覆盖率检测配置。除本次更新的 Yii 框架权限组件外,Apache Casbin PHP 生态还针对高性能常驻框架 Webman 推出了配套权限扩展:webman-permission
仓库地址:https://github.com/php-casbin/webman-permission
该扩展专为 Webman 常驻协程架构深度优化,适配 Webman 中间件、容器特性,和 yii-permission 共用同一套 Casbin 权限规则定义,PHP 技术栈开发者可根据自身框架选型自由切换:
Casbin + ThinkORM 打造 Webman RBAC 权限管理实战
PHP-Casbin 多租户权限控制模型
PHP-Casbin如何构建SaaS多租户权限系统架构
Casbin实战教程:ABAC控制模型授权策略设计与实践
Casbin权限模型实战大揭秘,教育培训领域的创新实践和高效优化策略