PHP-Casbin 中 ABAC 的使用方法

简介: PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。

PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。

ABAC基于属性的访问控制,可以使用主体、客体或动作的属性,而不是字符串本身来控制访问。

ABAC的官方实例如下:

[request_definition]
r = sub, obj, act

[policy_definition]
p = sub, obj, act

[policy_effect]
e = some(where (p.eft == allow))

[matchers]
m = r.sub == r.obj.owner

这是r.obj类的定义:

$data1 = new \stdClass();
$data1->name = 'data1';
$data1->owner = 'alice';

$data2 = new \stdClass();
$data2->name = 'data2';
$data2->owner = 'bob';

然后使用决策器进行决策:

$e->enforce('alice', $data1, 'read');  // true
$e->enforce('alice', $data2, 'read');  // false

$e->enforce('bob', $data1, 'read');  // false
$e->enforce('bob', $data2, 'read');  // true

原文:PHP-Casbin 中 ABAC 的使用方法

目录
相关文章
|
PHP 开发者
百度搜索:蓝易云【PHP trait的使用方法】
通过以上方法,我们可以充分利用PHP trait来实现代码复用和组合,提高代码的灵活性和可维护性。
111 3
|
3月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
71 0
|
5月前
|
存储 PHP 数据安全/隐私保护
PHP类的使用方法
【8月更文挑战第2天】PHP类的使用方法
41 2
|
Linux API PHP
阿里云PHP SDK 使用方法
阿里云PHP SDK 使用方法
阿里云PHP SDK 使用方法
php:类中的static、final、const、parent、self、$this关键字使用方法和区别
php:类中的static、final、const、parent、self、$this关键字使用方法和区别
123 0
|
JSON PHP 数据格式
php中json_decode()的使用方法
php中json_decode()的使用方法
255 0
|
Java PHP 数据安全/隐私保护
PHP -Casbin: 支持 ACL、RBAC、ABAC 多种模型的 PHP 权限管理框架
PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin/php-casbin ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。
4423 0
|
Web App开发 Java PHP
php中Session使用方法详解
php中Session使用方法详解 Session的声明与使用 Session的设置不同于Cookie,必须先启动,在PHP中必须调用session_start()。session_start()函数的语法格式如下: Bool session_start(void) //创建Session,开始一个会话,进行Session初始化 注意:session_start()函数之前不能有任何输出 当第一次访问网站时,Seesion_start()函数就会创建一个唯一的Session ID,并自动通过HTTP的响应头,将这个Session ID保存到客户端Cookie中。
2023 0