這篇文章運用簡單易懂的例子給大家介紹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權限控制的實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。