Yii2: 无法执行 RBAC 迁移(您应该配置 "authManager"...)
Yii2: Cannot perform RBAC migration (You should configure "authManager"...)
正如所描述的那样here我正在尝试进行迁移,以便让 yii 创建用户身份验证表。但是我得到错误:
Exception 'yii\base\InvalidConfigException' with message 'You should
configure "authManager" component to use database before executing
this migration.'
配置中存在 authManager,但我仍然收到该错误。配置:
'components' => [
...
'db' => $db,
'authManager' => [
'class' => 'yii\rbac\DbManager',
// 'defaultRoles' => ['guest'],
],
...
],
有什么问题?
问题很简单:没有使用配置。 yii migrate
是一个控制台命令,通常这些命令的配置放在一个单独的文件中。
在 yii2-app-base 模板的情况下,我从中创建了我的应用程序,有一个 config/console.php
配置文件需要在其中声明 authManager .仅在 config/web.php
中声明是不够的。
在 yii2-app-advanced 的情况下,authManager 应该在 console/config/main.php
中声明,而不是在后端或前端配置文件中声明。
正如所描述的那样here我正在尝试进行迁移,以便让 yii 创建用户身份验证表。但是我得到错误:
Exception 'yii\base\InvalidConfigException' with message 'You should configure "authManager" component to use database before executing this migration.'
配置中存在 authManager,但我仍然收到该错误。配置:
'components' => [
...
'db' => $db,
'authManager' => [
'class' => 'yii\rbac\DbManager',
// 'defaultRoles' => ['guest'],
],
...
],
有什么问题?
问题很简单:没有使用配置。 yii migrate
是一个控制台命令,通常这些命令的配置放在一个单独的文件中。
在 yii2-app-base 模板的情况下,我从中创建了我的应用程序,有一个 config/console.php
配置文件需要在其中声明 authManager .仅在 config/web.php
中声明是不够的。
在 yii2-app-advanced 的情况下,authManager 应该在 console/config/main.php
中声明,而不是在后端或前端配置文件中声明。