videni/symfony-casbin

将php-casbin集成到Symfony

dev-master / 1.0.x-dev 2022-04-08 02:03 UTC

This package is auto-updated.

Last update: 2024-09-08 07:43:24 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

在Symfony框架中使用Casbin,Casbin是一个功能强大且高效的开放源代码访问控制库。它建立在php-casbin/php-casbinphp-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安全投票者。