【问题标题】:Separate users in Yii2's basic templateYii2基本模板中的用户分离
【发布时间】:2015-08-11 11:38:28
【问题描述】:

我正在使用 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,并已登录。

我找到了仅适用于高级模板的解决方案...

谢谢,

【问题讨论】:

    标签: yii2 yii2-user yii2-basic-app


    【解决方案1】:

    您需要进行比您所做的更多的配置。

    现在,它们都保存在会话中的相同变量中,并且都使用相同的 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 文档以获得解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-04
      相关资源
      最近更新 更多