首頁 >后端開發 >php教程 > 正文

基于 PHP-Casbin 的 ABAC 權限控制

轉載2019-11-13 17:55:090762
第十期線上培訓班
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 權限控制的詳細內容,更多請關注php中文網其它相關文章!

php中文網最新課程二維碼
  • 相關標簽:PHP-Casbin
  • 本文轉載于:learnku,如有侵犯,請聯系[email protected]刪除
  • 相關文章

    相關視頻


    網友評論

    文明上網理性發言,請遵守 新聞評論服務協議

    我要評論
  • 專題推薦

    推薦視頻教程
  • php7實戰開發cms內容管理系統php7實戰開發cms內容管理系統
  • ThinkPHP6.0極速入門(視頻教程)ThinkPHP6.0極速入門(視頻教程)
  • ThinkPHP6.0公益直播課ThinkPHP6.0公益直播課
  • ThinkPHP6.0完全開發手冊(注解版)ThinkPHP6.0完全開發手冊(注解版)
  • 視頻教程分類
    第十期線上培訓班 澳洲幸运8在哪里开奖