PHP-Casbin v4.0.0 发布,支持 ACL、RBAC、ABAC 等模子的访问控制框架

[复制链接]
发表于 2025-11-16 23:20:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架,支持 ACL、RBAC、ABAC 多种模子。它接纳了元模子的操持头脑,支持多种经典的访问控制方案,如基于脚色的访问控制 RBAC、基于属性的访问控制 ABAC 等。
更新内容:

https://github.com/php-casbin/php-casbin/releases/tag/v4.0.0


  • 利用 Symfony Cache 组件重新实现 CachedEnforcer,依照 PSR-6 规范
  • 新增条件脚色管理器(ConditionalRoleManager),使 RBAC 权限控制支持脚色的条件界说
  • 将 PHP 的最低版本升级为 PHP 8.0,充实利用 PHP 8.0 的新特性
  • 重构 Logger,支持直接利用 PRS-3 规范的日志日志实现,不在单独利用桥接(casbin/psr3-bridge)
别的,除了主库更新外,还提供了一个全新的 PHP-Casbin 起步套件(Starter kit),该套件联合 Laravel-Authz 和 Jetstream 实现,资助新手开辟者快速相识 PHP-Casbin 。

Casbin 开源项目先容

Casbin 是一个强大的、高效的开源访问控制框架。涉及到 Go、Java、Node.js、Javascript (React)、Python、PHP、.NET、Delphi、Rust 等多种语言。
支持多种访问控制模子,在 Casbin,访问控制模子是基于 PERM 元模子 (Policy, Effect, Request, Matchers) 压缩而成的一个 CONF 文件。 因此,项目授权机制的转换或升级就像修改设置一样简单。
机动的战略储存方式,除了内存和文件外,Casbin 战略还可以存储在很多地方。 现在 Casbin 已经支持了从 MySQL、Postgres、Oracle 到 MongoDB、Redis、Cassandra、AWS S3 等数十种数据库。
跨语言 & 跨平台,Casbin 已经利用 Golang、Java、PHP 和 Node.js 等等语言实现。 全部的实现共享雷同的 API 和活动。学习一次即可随处利用。
利用 PHP-Casbin:

安装:
  1. composer update casbin/casbin
复制代码
快速利用:

  • 初始化决定器
  1. require_once './vendor/autoload.php';
  2. use Casbin\Enforcer;
  3. $e = new Enforcer("path/to/model.conf", "path/to/policy.csv");
复制代码

  • 举行权限决定
  1. $sub = "alice"; // the user that wants to access a resource.
  2. $obj = "data1"; // the resource that is going to be accessed.
  3. $act = "read"; // the operation that the user performs on the resource.
  4. if ($e->enforce($sub, $obj, $act) === true) {
  5.     // permit alice to read data1
  6. } else {
  7.     // deny the request, show an error
  8. }
复制代码
项目托管堆栈Github:https://github.com/php-casbin/php-casbin
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表