IUserIdentity接口是由一个用户验证类实现的。
包括的公共方法有:
authenticate() 验证用户身份;
getId() 返回一个值,该值代表唯一的身份;
个体IsAuthenticated() 返回一个值,该值表示是否验证身份;
getName() 返回标识的显示名称(比如用户名);
例如,参考yii中的demo中的blog,对UserIdentity类做如下修改:
<?php
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate()
{
$username=strtolower($this->username);
$user=User::model()->find('LOWER(username)=?',array($username));
if($user===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if(!$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;
}
public function getId()
{
return $this->_id;
}
}
?>
class User extends CActiveRecord
{
......
public function validatePassword($password)
{
return $password===$this->password;
}
}