<?php/** * UserIdentity represents the data needed to identity a user. * It contains the authentication method that checks if the provided * data can identity the user. */classUserIdentityextendsCUserIdentity{private$_id;/** * Authenticates a user. * @return boolean whether authentication succeeds. */publicfunctionauthenticate(){$user=User::model()->find('LOWER(username)=?',array(strtolower($this->username)));if($user===null)$this->errorCode=self::ERROR_USERNAME_INVALID;elseif(!$user->validatePassword($this->password))$this->errorCode=self::ERROR_PASSWORD_INVALID;else{$this->_id=$user->id;$this->username=$user->username;$this->errorCode=self::ERROR_NONE;}return$this->errorCode==self::ERROR_NONE;}/** * @return integer the ID of the user record */publicfunctiongetId(){return$this->_id;}}