37 lines
966 B
PHP
37 lines
966 B
PHP
|
<?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;
|
||
|
}
|
||
|
}
|