1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/casbin-php-casbin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 15:48 a284159

PHP-Casbin

Scrutinizer Code Quality

Default

Coverage Status

Latest Stable Version

Total Downloads

License

Gitter

Хорошие новости: Laravel-authz (https://github.com/php-casbin/laravel-authz) уже выпущен, это авторизационная библиотека, созданная специально для Laravel.

PHP-Casbin — это мощный и эффективный открытый фреймворк контроля доступа, который поддерживает управление правами на основе различных моделей контроля доступа.

Casbin поддерживает следующие языки программирования:

Golang Java Node.js PHP
Casbin https://github.com/casbin/casbin https://github.com/casbin/jcasbin https://github.com/casbin/node-casbin https://github.com/php-casbin/php-casbin
Состояние готовности к производству Состояние готовности к производству Состояние готовности к производству Состояние готовности к производству
Python .NET C++ Rust
https://github.com/casbin/pycasbin https://github.com/casbin/Casbin.NET https://github.com/casbin/casbin-cpp https://github.com/casbin/casbin-rs
Состояние готовности к производству Состояние готовности к производству Состояние готовности к производству Состояние готовности к производству

Установка

Установите через Composer:

composer require casbin/casbin

Быстрый старт

  1. Инициализируйте экземпляр Enforcer с помощью файлов model и policy:
require_once './vendor/autoload.php';

use Casbin\Enforcer;

$e = new Enforcer("path/to/model.conf", "path/to/policy.csv");
  1. В месте, где требуется контроль доступа, выполните проверку прав с помощью следующего кода:
$sub = "alice"; // пользователь, который хочет получить доступ к ресурсу.
$obj = "data1"; // ресурс, к которому будет осуществлён доступ.
$act = "read"; // операция, которую пользователь выполняет над ресурсом.

if ($e->enforce($sub, $obj, $act) === true) {
    // разрешить alice читать data1
} else {
    // отклонить запрос, показать ошибку
}

Каталог

Поддерживаемые модели

  1. ACL (Access Control List) (https://en.wikipedia.org/wiki/Access_control_list)
  2. ACL с суперпользователем (https://en.wikipedia.org/wiki/Superuser)
  3. ACL без пользователей: особенно полезно для систем, в которых нет аутентификации или входа пользователя.
  4. ACL без ресурсов: некоторые сценарии могут быть нацелены на тип ресурсов вместо отдельного ресурса с использованием разрешений, таких как write-article, read-log. Это не контролирует доступ к конкретной статье или журналу.
  5. RBAC (Role-Based Access Control) (https://en.wikipedia.org/wiki/Role-based_access_control)
  6. RBAC с ролями ресурсов: и пользователи, и ресурсы могут иметь роли (или группы) одновременно.
  7. RBAC с доменами/арендаторами: пользователи могут иметь разные наборы ролей для разных доменов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/casbin-php-casbin.git
git@api.gitlife.ru:oschina-mirror/casbin-php-casbin.git
oschina-mirror
casbin-php-casbin
casbin-php-casbin
master