Heim >Backend-Entwicklung >PHP-Tutorial >ABAC-Berechtigungskontrolle basierend auf PHP-Casbin

ABAC-Berechtigungskontrolle basierend auf PHP-Casbin

藏色散人
藏色散人nach vorne
2019-09-16 11:20:354262Durchsuche

PHP-Casbin ist ein leistungsstarkes und effizientes Open-Source-Zugriffskontroll-Framework, das die Berechtigungsverwaltung basierend auf verschiedenen Zugriffskontrollmodellen (RBAC ABAC ACL) unterstützt.

ABAC ist eine attributbasierte Zugriffskontrolle, die anstelle der Zeichenfolge selbst die Attribute des Subjekts, Objekts oder der Aktion zur Zugriffssteuerung verwenden kann.

Empfohlen: „PHP-Tutorial

Das offizielle Beispiel für ABAC lautet wie folgt:

[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

Dies ist die Definition von r. obj-Klasse:

$data1 = new \stdClass();
$data1->name = 'data1';
$data1->owner = 'alice';
$data2 = new \stdClass();
$data2->name = 'data2';
$data2->owner = 'bob';

Dann verwenden Sie den Entscheider, um die Entscheidung zu treffen:

$e->enforce('alice', $data1, 'read');  // true
$e->enforce('alice', $data2, 'read');  // false
$e->enforce('bob', $data1, 'read');  // false
$e->enforce('bob', $data2, 'read');  // true

Das obige ist der detaillierte Inhalt vonABAC-Berechtigungskontrolle basierend auf PHP-Casbin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen