php-casbin / webman-permission

🔒 An authorization library that supports access control models like ACL, RBAC, ABAC for webman plugin
https://www.workerman.net/plugin/6
Apache License 2.0
39 stars 15 forks source link

是否可以像webman文档里那个casbin插件那样支持多套配置? #8

Closed lyt8384 closed 1 year ago

lyt8384 commented 1 year ago

是否可以像webman文档里那个casbin插件那样支持多套配置? 我有个使用场景是一个后台里有2种不同的权限,一个是基于RestFull的,一个是数据字段权限,需要2套不同的配置,研究了下好像没法像 https://www.workerman.net/doc/webman/components/casbin.html#%E4%B8%A4%E7%A7%8D%E7%94%A8%E6%B3%95 这样载入不同配置。

Tinywan commented 1 year ago

你新增一个配置

// 基础配置
    'RestFull' => [
        // 策略模型Model设置
        'model' => [
            'config_type' => 'file',
            'config_file_path' => config_path() . '/plugin/casbin/webman-permission/rbac-model.conf',
            'config_text' => '',
        ],
        // 适配器
        'adapter' => Casbin\WebmanPermission\Adapter\DatabaseAdapter::class, // ThinkORM 适配器
        // 'adapter' => Casbin\WebmanPermission\Adapter\LaravelDatabaseAdapter::class, // Laravel 适配器
        // 数据库设置
        'database' => [
            'connection' => '',
            'rules_table' => 'casbin_rule',
            'rules_name' => null
        ],
    ],
Tinywan commented 1 year ago

或者你提交个PR