Отдельные пользователи в базовом шаблоне 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 и становятся вошедшими в систему.
Я нашел решения только для продвинутого шаблона...
Спасибо,
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
документация для объяснения.