php-380玩彩网官网入口
php-casbin
是一个用 php 语言打造的轻量级开源访问控制框架,支持 acl、rbac、abac 多种模型。它采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 rbac、基于属性的访问控制 abac 等。
更新内容:
- 使用 symfony cache 组件重新实现 cachedenforcer,遵循 psr-6 规范
- 新增条件角色管理器(conditionalrolemanager),使 rbac 权限控制支持角色的条件定义
- 将 php 的最低版本升级为 php 8.0,充分利用 php 8.0 的新特性
- 重构 logger,支持直接使用 prs-3 规范的日志实现,不在单独使用桥接(casbin/psr3-bridge)
另外,除了主库更新外,还提供了一个全新的 php-casbin 起步套件(),该套件结合 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:
安装:
composer update casbin/casbin
快速使用:
- 初始化决策器
require_once './vendor/autoload.php';
use casbin\enforcer;
$e = new enforcer("path/to/model.conf", "path/to/policy.csv");
- 进行权限决策
$sub = "alice"; // the user that wants to access a resource.
$obj = "data1"; // the resource that is going to be accessed.
$act = "read"; // the operation that the user performs on the resource.
if ($e->enforce($sub, $obj, $act) === true) {
// permit alice to read data1
} else {
// deny the request, show an error
}
项目托管仓库github:
本作品采用《cc 协议》,转载必须注明作者和本文链接
在 laravel 中使用: