Heim >Backend-Entwicklung >PHP-Tutorial >ABAC-Berechtigungskontrolle basierend auf PHP-Casbin
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!