Yii :: app () - & gt; user- & gt; isGuest renvoie toujours la valeur true même si la connexion a réussi

J'ai commencé à faire quelques différences entre ces utilisateurs qui ont authentifié et ceux qui pas. Pour cela, je suis en utilisant

Yii::app()->user->id;

Cependant, dans une vue j'ai mis le code suivant:

<?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);
}?>

Et j'ai toujours le bienvenue invité!", si je suis connecté (avec succès) ou pas. Et si je connecté, puis il affiche le message de bienvenue avec l'id de l'utilisateur!

MODIFIER

@briiC.lv
Hey.. désolé pour la réponse tardive, j'espère que vous êtes toujours en suivant cette! Je ne suis pas l'extension de la UserIdentity classe. Est-ce obligatoire? Depuis j'ai toujours ne soyez pas très bien l'ensemble de l'autorisation en question, j'ai pensé qu'il serait préférable de faire un essai avec la classe qu'ils fournissent, et puis l'étendre avec mes propres fonctionnalités.. de toute façon, la prochaine, je poste mon UserIdentity classe avec ses petits tweaks.. peut-être que le problème réside ici??

<?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;
}

}

Ici est le résultat que j'ai eu quand j'ai commencé à vous connecter comme vous l'avez suggéré, j'ai cette sortie immédiatement après le succès de la connexion.

[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 
)

Toute aide est très appréciée!

source d'informationauteur Soph