安装yii2-rbac错误您有错误的authManager配置
我在此站点页面安装yii2-rbac:https://github.com/dektrium/yii2-rbac/blob/master/docs/installation.md。 我第二次做。第一次我都做了,但我在config/web.php文件写道:安装yii2-rbac错误您有错误的authManager配置
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
//'rbac' => 'dektrium\rbac\RbacWebModule',
'rbac' => 'dektrium\rbac\RbacConsoleModule',
],
我不知道,“RBAC” =>“dektrium \ RBAC \ RbacConsoleModule”它必须在控制台中写。 PHP(不在web.php中)。
'authManager' => [
'class' => 'yii\rbac\DbManager',
//'defaultRoles' => ['guest'],
],
` 这段代码我已经在这两个配置文件中写道:web.php和console.php,但在web.php我已经写了 'RBAC'=> 'dektrium \ RBAC \ RbacConsoleModule' 和console.php我没有写过,但一切正常:yii2-rbac已经安装成功。所有交易都已通过成功。但在web.php中'rbac'=>'dektrium \ rbac \ RbacConsoleModule'在我看来是错误的。它不是Web模块,它是控制台模块。然后我进行了回滚事务(迁移/下移),并且通过从composer.json中删除“dektrium/yii2-rbac”:“[email protected]”声明,我已经删除了rbac。全部被删除。 比我第二次开始安装rbac。作曲家安装后,我在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“... RbacConsoleModule”。网站工作。为什么它不适用于RbacWebModule?然后我尝试申请交易,以前我已经回滚过,但是引发错误:您的authManager配置不正确 enter image description here
我该怎么办?帮我。生我的英语。我来自俄罗斯。
我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',
],
// ....
我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',
]