2015-11-12 1 views
-1

Я создал приложение Yii 2. В моей базе данных есть пользователь таблицы, имеющий следующие поля: firstName, lastName, username и password, 'authKey'.Yii 2 Данные интерфейса идентификации теряются после перенаправления

С помощью инструмента Gii я создал модель для пользовательской таблицы. Чтобы реализовать функции входа в систему, я расширил этот класс из IdentityInterface, и я реализовал все методы. Вот список метода:

public static function findIdentityByAccessToken($token, $type = null) 
{ 
    throw new NotSupportedException(); 
} 

    public static function findIdentity($id) 
{ 
    Admin::findOne($id) 
} 

public function getId() 
{ 
    return this->id; 
} 

public function getAuthKey() 
{ 
    return $this->authKey 
} 


public function validateAuthKey($authKey) 
{ 
    return $this->authKey = $authKey; 
} 

public static function findByUsername($username) 
{ 
    return static::find(array('username'=>$username)); 
} 

public function validatePassword($password) { 
    return $this->password == $password;//Just for demonstration purposes 
} 

Я изменил свой конфигурационный файл (компонент пользователя равное этому):

'user' => [ 
    'identityClass' => 'app\models\Admin', 
    'enableAutoLogin' => true, 
], 

В LoginController, после строки

if($model->load(Yii::$app->request->post()) && $model->login()) { 

печатает

var_dump(Yii::$app->user->identity);exit; 

, а настройки vlaues устанавливаются нормально. Как только перенаправить пользователя на другую страницу

var_dump(Yii::$app->user->identity); exit; 

равно null.

Может кто-нибудь объяснить мне, что происходит?

ПРИМЕЧАНИЕ: Следующие сообщения не являются полезными:

yii2 losing user identity after login redirect

Yii2 user identity loss after page redirection

+0

У вас есть общедоступное свойство 'public $ enableSession = true;' в вашем пользовательском классе? –

+0

Это свойство по умолчанию установлено в true – MrD

+0

Только если ваш класс расширяет исходный класс, я думаю .. Я могу попробовать ... –

ответ

0

Сообщение содержание $ модели-> Логин().

Затем я проверю, правильно ли установлен cookie сеанса после входа в систему.

Смежные вопросы