基于 PHP-Casbin 的 ABAC 权限控制

互联网 19-9-16
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 权限控制的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: PHP-Casbin
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:QueryPHP V1-beta.5 改进 ORM 设计体验

相关资讯