首頁 > 後端開發 > php教程 > 基於 PHP-Casbin 的 ABAC 權限控制

基於 PHP-Casbin 的 ABAC 權限控制

藏色散人
發布: 2023-04-07 12:12:01
轉載
4291 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板