Maison  >  Article  >  développement back-end  >  Contrôle des autorisations ABAC basé sur PHP-Casbin

Contrôle des autorisations ABAC basé sur PHP-Casbin

藏色散人
藏色散人avant
2019-09-16 11:20:354224parcourir

PHP-Casbin est un framework de contrôle d'accès open source puissant et efficace qui prend en charge la gestion des autorisations basée sur divers modèles de contrôle d'accès (RBAC ABAC ACL).

ABAC est un contrôle d'accès basé sur les attributs, qui peut utiliser les attributs du sujet, de l'objet ou de l'action pour contrôler l'accès au lieu de la chaîne elle-même.

Recommandé : "Tutoriel PHP"

L'exemple officiel d'ABAC est le suivant :

[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

C'est la définition de r. obj class :

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

Ensuite, utilisez le décideur pour prendre la décision :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer