两个完全不同的前端用户inYii2先进

时间:2017-01-13 14:18:00

标签: yii2 yii2-advanced-app yii2-user

我正在使用高级Yii2模板开发应用程序。

我已经为后端和前端用户分隔了两个不同的会话。 我的main.php文件是这样的:

// frontend/config/main.php
...
'user' => [
    'identityClass'   => 'common\models\User',
    'enableAutoLogin' => true,
],
...

// backend/config/main.php
...
'user' => [
    'identityClass'   => 'backend\models\BEUser',
    'enableAutoLogin' => true,
],
...

当我尝试实施第二个单独的前端用户时,我遇到了问题。现在,当我登录不同的用户模型时,我也以常规前端用户身份登录。

我不想使用RBAC,因为我希望两种不同类型的用户完全分开。这意味着,不同的数据库表,不同的会话名称,不同的登录页面,以及对网站完全不同的部分和页面的访问。

我想在frontend / config / main.php中添加一个单独的“user2”条目,但我在互联网上找不到任何类似的指南。所以我认为这是不可能的。

你对此有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

我还没有真正对此进行测试,但您可以通过在前端创建user2来创建LoginForm2模型,而不是使用user组件它使用user2组件进行登录。

前端配置:

'user2' => [
    'class' => 'yii\web\User',
    'identityClass'   => 'common\models\User2',
    'enableAutoLogin' => true,
],

<强> LoginForm2.php:

public function login() {
    if ($this->validate()) {
        return Yii::$app->user2->login($this->getUser(), 1800);
    }
    return false;
}