Я начал делать некоторые различия между теми пользователями, которые прошли аутентификацию, и теми, которые не являются. Для этого я использую
Yii::app()->user->id;
Однако в определенном виде я поставлю следующий код:
<?php
if(Yii::app()->user->isGuest) {
print("Welcome back Guest!");
print("Your id is ".Yii::app()->user->id);
} else {
print("Welcome back ".Yii::app()->user->name);
print("Your id is ".Yii::app()->user->id);
}?>
И я всегда получаю "приветствую гостей!", независимо от того, вошел ли я (успешно) или нет. И если я имеет, то он отображает приветственное сообщение вместе с идентификатором пользователя!
ИЗМЕНИТЬ
@briiC.lv Эй.. извините за поздний ответ, надеюсь, вы все еще следуете этому! Я не расширяю данный класс UserIdentity. Это обязательно? Поскольку я до сих пор не очень хорошо разбираюсь во всей проблеме авторизации, я подумал, что лучше всего попробовать попробовать класс, который они предоставляют, а затем расширить с помощью моей собственной функциональности. В любом случае, после этого я опубликую свой класс UserIdentity с его небольшими настройками. может быть, проблема здесь?
<?php class UserIdentity extends CUserIdentity{
private $_id;
public function authenticate()
{
$user = Users::model()->findAll('username=\''.$this->username.'\' AND password=\''.$this->encryptedPassword.'\'');
if(!isset($user[0]))
{
return false;
}
else
{
$this->setState('id', $user[0]->id);
$this->username = $user[0]->username;
$this->errorCode=self::ERROR_NONE;
return true;
}
}
public function getId()
{
return $this->_id;
}
}
Вот результат, который я получил, когда я начал регистрироваться, как вы предложили; Я получил этот результат сразу после успешного входа в систему.
[05:23:21.833][trace][vardump] CWebUser#1 (
[allowAutoLogin] => true
[guestName] => 'Guest'
[loginUrl] => array ( '0' => '/site/login' )
[identityCookie] => null
[authTimeout] => null
[autoRenewCookie] => false
[autoUpdateFlash] => true
[CWebUser:_keyPrefix] => '0f4431ceed8f17883650835e575b504b'
[CWebUser:_access] => array()
[behaviors] => array()
[CApplicationComponent:_initialized] => true
[CComponent:_e] => null
[CComponent:_m] => null
)
Любая помощь очень ценится!