CBaseUserIdentity


system.web.auth
继承 abstract class CBaseUserIdentity » CComponent
实现 IUserIdentity
子类 CUserIdentity
源自 1.0
版本 $Id: CBaseUserIdentity.php 3515 2011-12-28 12:29:24Z mdomba $
源码
CBaseUserIdentity是IUserIdentity基类的实现。

CBaseUserIdentity实现了那些需要被持久化的识别 信息的结构。它同时提供表示 验证错误的方法。

派生类应该实现IUserIdentity::authenticateIUserIdentity::getId,因为这两个是IUserIdentity 接口所定义的。

公共属性

属性 类型 描述 定义在
errorCode integer 验证错误代码。如果是有错误发生,那么错误代码不会为0。 默认是100,意味着未知的身份。调用authenticate可以改变这个值。 CBaseUserIdentity
errorMessage string 验证错误信息。默认为空。 CBaseUserIdentity
id mixed 返回唯一的身体标识。 CBaseUserIdentity
isAuthenticated 验证是否成功。 返回值说明身份是否通过验证。 CBaseUserIdentity
name string 返回身份的显示名字。 CBaseUserIdentity
persistentStates array 返回需要持久化的身份状态。 CBaseUserIdentity

公共方法

方法 描述 定义在
__call() 如果类中没有调的方法名,则调用这个方法。 CComponent
__get() 返回一个属性值、一个事件处理程序列表或一个行为名称。 CComponent
__isset() 检查一个属性是否为null。 CComponent
__set() 设置一个组件的属性值。 CComponent
__unset() 设置一个组件的属性为null。 CComponent
asa() 返回这个名字的行为对象。 CComponent
attachBehavior() 附加一个行为到组件。 CComponent
attachBehaviors() 附加一个行为列表到组件。 CComponent
attachEventHandler() 为事件附加一个事件处理程序。 CComponent
authenticate() 验证用户身份。 IUserIdentity
canGetProperty() 确定属性是否可读。 CComponent
canSetProperty() 确定属性是否可写。 CComponent
clearState() 移除指定的状态。 CBaseUserIdentity
detachBehavior() 从组件中分离一个行为。 CComponent
detachBehaviors() 从组件中分离所有行为。 CComponent
detachEventHandler() 分离一个存在的事件处理程序。 CComponent
disableBehavior() 禁用一个附加行为。 CComponent
disableBehaviors() 禁用组件附加的所有行为。 CComponent
enableBehavior() 启用一个附加行为。 CComponent
enableBehaviors() 启用组件附加的所有行为。 CComponent
evaluateExpression() 计算一个PHP表达式,或根据组件上下文执行回调。 CComponent
getEventHandlers() 返回一个事件的附加处理程序列表。 CComponent
getId() 返回唯一的身体标识。 CBaseUserIdentity
getIsAuthenticated() 返回值说明身份是否通过验证。 CBaseUserIdentity
getName() 返回身份的显示名字。 CBaseUserIdentity
getPersistentStates() 返回需要持久化的身份状态。 CBaseUserIdentity
getState() 获取指定名字的持久化状态。 CBaseUserIdentity
hasEvent() 确定一个事件是否定义。 CComponent
hasEventHandler() 检查事件是否有附加的处理程序。 CComponent
hasProperty() 确定属性是否被定义。 CComponent
raiseEvent() 发起一个事件。 CComponent
setPersistentStates() 设置持久化状态数组。 CBaseUserIdentity
setState() 设置指定状态的值。 CBaseUserIdentity

属性详细

errorCode 属性
public integer $errorCode;

验证错误代码。如果是有错误发生,那么错误代码不会为0。 默认是100,意味着未知的身份。调用authenticate可以改变这个值。

errorMessage 属性
public string $errorMessage;

验证错误信息。默认为空。

id 属性 只读
public mixed getId()

返回唯一的身体标识。

isAuthenticated 属性 只读
public 验证是否成功。 getIsAuthenticated()

返回值说明身份是否通过验证。 此方法为接口IUserIdentity强制要求实现。

name 属性 只读
public string getName()

返回身份的显示名字。

persistentStates 属性
public array getPersistentStates()
public void setPersistentStates(array $states)

返回需要持久化的身份状态。 此方法为接口IUserIdentity强制要求实现。

方法详细

clearState() 方法
public void clearState(string $name)
$name string 状态名字
public function clearState($name)
{
    unset(
$this->_state[$name]);
}

移除指定的状态。

getId() 方法
public mixed getId()
{return} mixed 返回唯一的身体标识(如,主键值)。 默认实现的是,返回name
public function getId()
{
    return 
$this->getName();
}

返回唯一的身体标识。

getIsAuthenticated() 方法
public 验证是否成功。 getIsAuthenticated()
{return} 验证是否成功。
public function getIsAuthenticated()
{
    return 
$this->errorCode==self::ERROR_NONE;
}

返回值说明身份是否通过验证。 此方法为接口IUserIdentity强制要求实现。

getName() 方法
public string getName()
{return} string 返回身份的显示名字。 默认实现的是,返回空字符串。
public function getName()
{
    return 
'';
}

返回身份的显示名字。

getPersistentStates() 方法
public array getPersistentStates()
{return} array 需要持久化的身份状态。
public function getPersistentStates()
{
    return 
$this->_state;
}

返回需要持久化的身份状态。 此方法为接口IUserIdentity强制要求实现。

getState() 方法
public mixed getState(string $name, mixed $defaultValue=NULL)
$name string 状态名字
$defaultValue mixed 如果不存在的默认返回值
{return} mixed 指定名字的状态值。
public function getState($name,$defaultValue=null)
{
    return isset(
$this->_state[$name])?$this->_state[$name]:$defaultValue;
}

获取指定名字的持久化状态。

setPersistentStates() 方法
public void setPersistentStates(array $states)
$states array 需要持久化的身份状态。
public function setPersistentStates($states)
{
    
$this->_state $states;
}

设置持久化状态数组。

setState() 方法
public void setState(string $name, mixed $value)
$name string 状态名字
$value mixed 指定名字的状态值
public function setState($name,$value)
{
    
$this->_state[$name]=$value;
}

设置指定状态的值。