我正在使用Yii2而且无法将用户分开。我的应用程序有两个模块。
这是我在web.php中的配置:
'frontendUser' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
'enableAutoLogin' => false,
'loginUrl' => ['frontend/default/index'],
],
'user' => [
'identityClass' => 'app\models\Owner',
'enableAutoLogin' => false,
'loginUrl' => ['arena/default/login'],
],
问题是当我使用上述其中一个登录时,Yii :: $ app-> user-> isGuest和Yii :: $ app-> frontendUser-> isGuest都返回true,并成为登录。
我只找到了高级模板的解决方案......
谢谢,
答案 0 :(得分:3)
您需要的配置比您所做的更多。
就像现在一样,他们都在会话中保存相同的变量,并且他们都使用相同的cookie。
'frontendUser' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
'enableAutoLogin' => false,
'loginUrl' => ['frontend/default/index'],
'identityCookie' = ['name' => '_feIdentity', 'httpOnly' => true], // THIS
'idParam' => '__feId', // THIS
'authTimeoutParam' => '__feExpire', // THIS, only if you want to keep separate expiry times
],
'user' => [
'identityClass' => 'app\models\Owner',
'enableAutoLogin' => false,
'loginUrl' => ['arena/default/login'],
],
这会指示前端用户使用不同的变量来存储/检索数据,从而有效地将其分成另一个用户。
请查看yii\web\User
文档以获取解释。