Yii2的基础模板中的用户分离
Separate users in Yii2's basic template
我正在使用 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 returns 都是正确的,并登录。
我只找到了高级模板的解决方案...
谢谢,
您需要进行的配置比您所做的要多一些。
就像现在一样,他们都在您的会话中保存相同的变量,并且都使用相同的 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'],
],
这会指示前端用户对 store/retrieve 数据使用不同的变量,有效地将其分离到另一个用户。
查看 yii\web\User
文档以获得解释。
我正在使用 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 returns 都是正确的,并登录。
我只找到了高级模板的解决方案...
谢谢,
您需要进行的配置比您所做的要多一些。
就像现在一样,他们都在您的会话中保存相同的变量,并且都使用相同的 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'],
],
这会指示前端用户对 store/retrieve 数据使用不同的变量,有效地将其分离到另一个用户。
查看 yii\web\User
文档以获得解释。