当前位置:  首页  >  PHP教程  >  PHP 基础  >  基础教程

基于PHP-Casbin的ABAC权限控制

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

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

推荐:《PHP教程》

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社区 其它相关文章!

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有