videni / symfony-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:43:24 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安全投票者。