videni/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:18:54 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 安全投票。