我正在使用高级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”条目,但我在互联网上找不到任何类似的指南。所以我认为这是不可能的。
你对此有什么建议吗? 谢谢。
答案 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;
}