Автор оригинала: David Wong.
PHP cabin-это мощная и эффективная платформа управления доступом с открытым исходным кодом, которая поддерживает различные модели управления доступом( RBAC ABAC |/ACL )Управление правами.
АБАК да Управление доступом на основе свойств Для управления доступом можно использовать свойства субъекта, объекта или действия, а не саму строку.
Официальными примерами 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Оригинал: “https://developpaper.com/abac-authority-control-based-on-php-casbin/”