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 权限控制的详细内容,更多请关注 其它相关文章!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答