Yii 2基本模板中的多个用户

时间:2015-02-16 02:25:45

标签: php yii yii2

我一直在寻找答案,但我看到的只是RBAC实施,而且他们是高级模板。看到这个http://www.yiiframework.com/wiki/771/rbac-super-simple-with-admin-and-user/,但它也在高级模板中。

RBAC对我来说太复杂了,我仍然开始用基本模板了解更多有关Yii 2的内容。

任何人都可以帮助我在不使用RBAC的情况下在Yii 2基本模板中实现多个用户?这将是一个很大的帮助。感谢。

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';