<?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. */ class UserIdentity extends CUserIdentity { /** * Authenticates a user. * The example implementation makes sure if the username and password * are both 'demo'. * In practical applications, this should be changed to authenticate * against some persistent user identity storage (e.g. database). * @return boolean whether authentication succeeds. */ public function authenticate() { $admin = User::model()->find('username=:username', array('username'=>$this->username)); if ($admin === null) { $this->errorCode=self::ERROR_USERNAME_INVALID; return false; } if (crypt($this->password, $admin->password) == $admin->password) { $this->errorCode=self::ERROR_NONE; return true; } $this->errorCode=self::ERROR_PASSWORD_INVALID; return false; } }