我一直在寻找答案,但我看到的只是RBAC实施,而且他们是高级模板。看到这个http://www.yiiframework.com/wiki/771/rbac-super-simple-with-admin-and-user/,但它也在高级模板中。
RBAC对我来说太复杂了,我仍然开始用基本模板了解更多有关Yii 2的内容。
任何人都可以帮助我在不使用RBAC的情况下在Yii 2基本模板中实现多个用户?这将是一个很大的帮助。感谢。
答案 0 :(得分:1)
它应该与Yii 1.1.x中的概念相同,在那里初始化CWebUser的两个组件,但这次在Yii2中,用户模型(实现Identity)是我们将在配置上初始化两次的模型:
'components' => [
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
],
'admin' => [
'identityClass' => 'common\models\Admin',
'enableAutoLogin' => true,
],
],
(或者,如果您没有单独的Admin
数据库表,请对common\models\User
组件admin
使用identityClass
。无论如何,它将会被实例化为一个单独的对象,并具有单独的内容和状态)
这样,你可以:
Yii::$app->user->function()
和
Yii::$app->admin->function()
答案 1 :(得分:0)
您想在两个模型identityClass
之间切换以进行登录,
只需在管理员登录控制器中包含此内容即可更改identityClass
。
Yii::$app->user->identityClass = 'app\models\Admin';
在config / web.php。
的用户组件中'identityClass' = 'app\models\Admin';