videni / casbin
将 php-casbin 集成到 Symfony
dev-master / 1.0.x-dev
2022-04-08 02:03 UTC
Requires
- php: >7.2
- casbin/casbin: ^3.20
- casbin/database-adapter: ^1.6
This package is auto-updated.
Last update: 2024-09-08 07:18:54 UTC
README
在 Symfony 框架中使用 Casbin,Casbin 是一个强大而高效的开源访问控制库。它建立在 php-casbin/php-casbin 和 php-casbin/database-adapter 之上
安装
1. 将 videni/casbin 添加为您的依赖
composer require videni/casbin:"^1.0@dev"
2. 配置您的执行器
videni_casbin:
default_enforcer: mysql
enforcers:
mysql:
path: "%kernel.project_dir%/config/packages/videni_casbin/rbac_with_domains_model.conf"
adapter: mysql
adapters:
mysql:
class: Videni\Casbin\Adapter\DatabaseAdapter
options:
type: "mysql"
hostname: "db"
database: "zaizai"
username: "zaizai"
password: "zaizai"
hostport: "3306"
3. 如果您使用 DatabaseAdapter,安装数据库表
bin/console videni-casbin:install mysql
其中 mysql 是您的适配器名称
使用方法
1. Casbin 执行器
您可以通过 videni_casbin.default_enforcer 获取默认执行器,其他由 EnforcerManager 管理。
/** @var \Videni\Casbin\EnforcerManager $enforcerManager **/
$enforcerManager->getEnforer('mysql'); // return the default enforcer if no argument provided.
2. Symfony 安全投票 - CasbinVoter
一个使用默认 casbin 执行器的 Symfony 安全投票。