2012-05-19 8 views
2

Я создаю сайт в Yii, и я застрял на этапе аутентификации пользователя. Независимо от того, что я делаю, я не могу аутентифицировать пользователей или сохранять некоторую ценность в сеансе.Yii аутентификация пользователя и сеанс не работают

Мой UserIdentity компонент выглядит следующим образом:

class UserIdentity extends CUserIdentity 
{ 
    private $_id; 

    public function authenticate(){ 
     if(($userRecord = Admin::model()->findByAttributes(array('username'=>$this->username)))===null){ 
      return $this->errorCode=self::ERROR_USERNAME_INVALID; 
     } 
     if($userRecord->password!=hash('sha256', $this->password)){ 
      return $this->errorCode=self::ERROR_PASSWORD_INVALID; 
     } 
     $this->_id=$userRecord->id; 
     $this->setState('title', $userRecord->username); 
     Yii::app()->session['clientId'] = $userRecord->clientId; 
     Yii::app()->session['id'] = $userRecord->id; 
     Yii::app()->session['loggedin'] = true; 

     return $this->errorCode=self::ERROR_NONE; 
    } 

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

} 

МОЯ Yii:app()->user->isGuest всегда возвращает истинное и Yii::app()->user->id возвращает ничего.

Вот почему я попытался использовать Yii::app()->session['loggedin'] для аутентификации. Но даже это не работает. Когда я получаю доступ к массиву сеансов вроде этого Yii::app()->session, я получаю сообщение об ошибке Property "CWebUser.session" is not defined..

Это действительно расстраивает. Я новичок в Yii. Пожалуйста помоги.

+1

Вы [пользователь] (http://www.yiiframework.com/doc/api/1.1/CWebUser#login-detail) пользователь? –

+0

Oh sh1t. Во время тестирования я прокомментировал функцию входа в систему. Спасибо. Теперь он отлично работает. – ajaybc

+0

отлично, я добавил его в качестве ответа. –

ответ

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