Отдельные пользователи в базовом шаблоне Yii2

Я работаю с 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 и входят в систему.

Я нашел решения только для расширенного шаблона...

Спасибо,


person Andris    schedule 11.08.2015    source источник


Ответы (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 для объяснения.

person Blizz    schedule 12.08.2015
comment
Большое большое спасибо! - person Javid Ahadov; 24.10.2016