PHP-Casbin框架中ABAC权限控制的实现
这篇文章运用简单易懂的例子给大家介绍PHP-Casbin框架中ABAC权限控制的实现,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
成都创新互联公司专注于临桂网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供临桂营销型网站建设,临桂网站制作、临桂网页设计、临桂网站官网定制、微信小程序开发服务,打造临桂网络公司原创品牌,更为您提供临桂网站排名全网营销落地服务。
PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型(RBAC ABAC ACL)的权限管理。
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-Casbin框架中ABAC权限控制的实现
路径分享:http://scyanting.com/article/giisdj.html