Yii2 安装Yi2 rbac错误您的authManager配置错误

Yii2 安装Yi2 rbac错误您的authManager配置错误,yii2,composer-php,yii2-rbac,Yii2,Composer Php,Yii2 Rbac,我在以下网站页面安装Yi2 rbac:。 我再做一次。我第一次这样做,但我在config/web.php文件中写道: 'modules' => [ 'user' => [ 'class' => 'dektrium\user\Module', ], //'rbac' => 'dektrium\rbac\RbacWebModule', 'rbac' => 'dektrium\rbac\RbacConsoleModule',

我在以下网站页面安装Yi2 rbac:。 我再做一次。我第一次这样做,但我在config/web.php文件中写道:

'modules' => [
    'user' => [
        'class' => 'dektrium\user\Module',
    ],
    //'rbac' => 'dektrium\rbac\RbacWebModule',
    'rbac' => 'dektrium\rbac\RbacConsoleModule',

],
我不知道,它必须在console.php(而不是web.php)中编写'rbac'=>'dektrium\rbac\rbaconsolemodule'

` 这段代码我在web.php和console.php两个配置文件中都写过,但在web.php中我写了'rbac'=>'dektrium\rbac\rbaconsolemodule',在console.php中我没有写,但都成功了:yii2 rbac已经成功安装。并且所有事务都已成功通过。但在我看来,web.php中的“rbac”=>“dektrium\rbac\rbaconsolemodule”似乎是错误的。它不是web模块,而是控制台模块。然后我回滚了事务(migrate/down),并通过从composer.json中删除“dektrium/yii2 rbac”:“1.0.0”来删除rbac-alpha@dev“宣言。所有的都被移除了。 然后我开始第二次安装rbac。安装composer后,我在web.php中写道:

'modules' => [
    'user' => [
        'class' => 'dektrium\user\Module',
    ],
    'rbac' => 'dektrium\rbac\RbacWebModule',
    //'rbac' => 'dektrium\rbac\RbacConsoleModule',

],
在console.php中,我写道:

'modules' => [

    'rbac' => 'dektrium\rbac\RbacConsoleModule',

],
yii2上的站点在它之后不工作!!!我已在web.php“…RBAConsolemodule”中更改。现场工程。为什么它不能与RbacWebModule一起工作?然后,我尝试应用我以前回滚过的事务,但引发了错误:您的authManager配置错误

我能做什么?帮助我。请教我学英语。我来自俄罗斯

my console.php:

$config = [
'id' => 'basic-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'app\commands',
'components' => [
    'cache' => [
        'class' => 'yii\caching\FileCache',
    ],
    'log' => [
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['error', 'warning'],
            ],
        ],
    ],
    'db' => $db,

    'authManager'  => [
        'class'        => 'yii\rbac\DbManager',
        //'defaultRoles' => ['guest'],
    ]
],

'modules' => [

    'rbac' => 'dektrium\rbac\RbacConsoleModule',

],
//

my web.php:

    //This all in $component

    'db' => require(__DIR__ . '/db.php'),


    'authManager'  => [
        'class'        => 'yii\rbac\DbManager',
        //'defaultRoles' => ['guest'],
    ],

],

'modules' => [
    'user' => [
        'class' => 'dektrium\user\Module',
    ],
    //'rbac' => 'dektrium\rbac\RbacWebModule',
    'rbac' => 'dektrium\rbac\RbacConsoleModule',

],

就这些!问题已经解决了。它必须将authManager节写入模块,而不是组件:

'modules' => [
   'user' => [
      'class' => 'dektrium\user\Module',
    ],

    'authManager'  => [
      'class'        => 'yii\rbac\DbManager',
    //'defaultRoles' => ['guest'],
    ]

    //'rbac' => 'dektrium\rbac\RbacWebModule',
    'rbac' => 'dektrium\rbac\RbacConsoleModule',

 ]
'modules' => [
   'user' => [
      'class' => 'dektrium\user\Module',
    ],

    'authManager'  => [
      'class'        => 'yii\rbac\DbManager',
    //'defaultRoles' => ['guest'],
    ]

    //'rbac' => 'dektrium\rbac\RbacWebModule',
    'rbac' => 'dektrium\rbac\RbacConsoleModule',

 ]