IAuthManager

优质
小牛编辑
131浏览
2023-12-01
所有包 | 方法
system.base
继承interface IAuthManager
子类CAuthManager, CDbAuthManager, CPhpAuthManager
源自1.0
版本$Id: interfaces.php 3515 2011-12-28 12:29:24Z mdomba $
源码framework/base/interfaces.php
IAuthManager是验证管理组件必须实现的接口。

验证管理主要负责基于角色访问控制(RBAC)的服务。

公共方法

隐藏继承方法

方法描述定义在
addItemChild()添加一个授权项作为另一个授权项的子授权项。IAuthManager
assign()为用户分配一个授权项。IAuthManager
checkAccess()检查指定用户的执行权限。IAuthManager
clearAll()移除所有授权数据。IAuthManager
clearAuthAssignments()移除所有授权分配信息。IAuthManager
createAuthItem()创建一个授权项。IAuthManager
executeBizRule()执行业务规则。IAuthManager
getAuthAssignment()返回授权项分配信息。IAuthManager
getAuthAssignments()返回指定用户的授权项分配信息。IAuthManager
getAuthItem()返回指定名字的授权项IAuthManager
getAuthItems()返回指定类型和用户的授权项。IAuthManager
getItemChildren()返回指定授权项的子授权项。IAuthManager
hasItemChild()返回一个值表示父授权项是否存在子授权项。IAuthManager
isAssigned()返回一个值表示判断授权项是否分配给指定用户。IAuthManager
removeAuthItem()移除指定授权项。IAuthManager
removeItemChild()从父授权项中移除子授权项。IAuthManager
revoke()撤销一个用户分配的授权项。IAuthManager
save()保存授权数据到持久存储。IAuthManager
saveAuthAssignment()保存修改的授权信息。IAuthManager
saveAuthItem()保存授权项到持久存储。IAuthManager

方法详细

addItemChild() 方法
abstract public void addItemChild(string $itemName, string $childName)
$itemNamestring父授权项名称
$childNamestring子授权项名称
源码: framework/base/interfaces.php#400 (显示) publicfunctionaddItemChild($itemName,$childName);

添加一个授权项作为另一个授权项的子授权项。

assign() 方法
abstract public CAuthAssignment assign(string $itemName, mixed $userId, string $bizRule=NULL, mixed $data=NULL)
$itemNamestring授权项名称
$userIdmixed用户ID(参见 IWebUser::getId)
$bizRulestring当调用checkAccess时 授权项关联的业务规则
$datamixed授权项关联的附加数据
{return}CAuthAssignment授权分配信息。
源码: framework/base/interfaces.php#434 (显示) publicfunctionassign($itemName,$userId,$bizRule=null,$data=null);

为用户分配一个授权项。

checkAccess() 方法
abstract public boolean checkAccess(string $itemName, mixed $userId, array $params=array ( ))
$itemNamestring需要权限检查的授权项名称
$userIdmixed用户ID。它应该是一个整数或一个字符串, 代表用户的唯一标识,参见IWebUser::getId。
$paramsarray分配给用户的任务或角色的(键-值对) 形式的业务规则。
{return}boolean用户是否有权执行操作。
源码: framework/base/interfaces.php#348 (显示) publicfunctioncheckAccess($itemName,$userId,$params=array());

检查指定用户的执行权限。

clearAll() 方法
abstract public void clearAll()
源码: framework/base/interfaces.php#473 (显示) publicfunctionclearAll();

移除所有授权数据。

clearAuthAssignments() 方法
abstract public void clearAuthAssignments()
源码: framework/base/interfaces.php#477 (显示) publicfunctionclearAuthAssignments();

移除所有授权分配信息。

createAuthItem() 方法
abstract public CAuthItem createAuthItem(string $name, integer $type, string $description='', string $bizRule=NULL, mixed $data=NULL)
$namestring授权项名称。必须是一个唯一标识。
$typeinteger授权项类型(0:操作,1:任务,2:角色)。
$descriptionstring授权项描述
$bizRulestring授权项关联的业务规则。 这是一块PHP代码,当调用checkAccess时被执行。
$datamixed授权项关联的附加数据。
{return}CAuthItem授权项
源码: framework/base/interfaces.php#365 (显示) publicfunctioncreateAuthItem($name,$type,$description='',$bizRule=null,$data=null);

创建一个授权项。 一个授权项表示允许一个动作(例如,创建一个贴子)。 它有三种类型:操作,任务和角色。 授权项是一个层次结构。 高级项继承低级项。

executeBizRule() 方法
abstract public 是否执行返回true。 executeBizRule(string $bizRule, array $params, mixed $data)
$bizRulestring执行的业务规则。
$paramsarray执行业务规则传递的附加参数。
$datamixed分配的授权项的相关附加数据。
{return}是否执行返回true。如果业务规则为空,它也将返回true。
源码: framework/base/interfaces.php#495 (显示) publicfunctionexecuteBizRule($bizRule,$params,$data);

执行业务规则。 业务规则是一块PHP代码当调用checkAccess时将被执行。

getAuthAssignment() 方法
abstract public 授权项分配信息。 getAuthAssignment(string $itemName, mixed $userId)
$itemNamestring授权项名称
$userIdmixed用户ID(参见 IWebUser::getId)
{return}授权项分配信息。如果返回的授权项没有分配给用户将返回null。
源码: framework/base/interfaces.php#456 (显示) publicfunctiongetAuthAssignment($itemName,$userId);

返回授权项分配信息。

getAuthAssignments() 方法
abstract public array getAuthAssignments(mixed $userId)
$userIdmixed用户ID(参见 IWebUser::getId)
{return}array用户的授权项分配信息。 如果用户没有分配授权项将返回空数组。
源码: framework/base/interfaces.php#463 (显示) publicfunctiongetAuthAssignments($userId);

返回指定用户的授权项分配信息。

getAuthItem() 方法
abstract public CAuthItem getAuthItem(string $name)
$namestring授权项名
{return}CAuthItem授权项。如果没有找到将返回null。
源码: framework/base/interfaces.php#386 (显示) publicfunctiongetAuthItem($name);

返回指定名字的授权项

getAuthItems() 方法
abstract public array getAuthItems(integer $type=NULL, mixed $userId=NULL)
$typeinteger授权项类型(0:操作,1:任务,2:角色)。默认为null, 意味着返回所有类型的授权项。
$userIdmixed用户ID。默认为null, 意味着返回所有授权项,包括未分配给用户的授权项。
{return}array授权项的具体类型.
源码: framework/base/interfaces.php#380 (显示) publicfunctiongetAuthItems($type=null,$userId=null);

返回指定类型和用户的授权项。

getItemChildren() 方法
abstract public array getItemChildren(mixed $itemName)
$itemNamemixed父授权项名。它可以是字符串或数组。 后者表示一个授权项名的列表。
{return}array父授权项的所有子授权项
源码: framework/base/interfaces.php#422 (显示) publicfunctiongetItemChildren($itemName);

返回指定授权项的子授权项。

hasItemChild() 方法
abstract public boolean hasItemChild(string $itemName, string $childName)
$itemNamestring父授权项名称
$childNamestring子授权项名称
{return}boolean是否存在子授权项
源码: framework/base/interfaces.php#415 (显示) publicfunctionhasItemChild($itemName,$childName);

返回一个值表示父授权项是否存在子授权项。

isAssigned() 方法
abstract public boolean isAssigned(string $itemName, mixed $userId)
$itemNamestring授权项名称
$userIdmixed用户ID(参见 IWebUser::getId)
{return}boolean授权项是否分配给指定用户。
源码: framework/base/interfaces.php#448 (显示) publicfunctionisAssigned($itemName,$userId);

返回一个值表示判断授权项是否分配给指定用户。

removeAuthItem() 方法
abstract public boolean removeAuthItem(string $name)
$namestring授权项名称
{return}boolean无论授权项是否存在都将移除
源码: framework/base/interfaces.php#371 (显示) publicfunctionremoveAuthItem($name);

移除指定授权项。

removeItemChild() 方法
abstract public boolean removeItemChild(string $itemName, string $childName)
$itemNamestring父授权项名称
$childNamestring子授权项名称
{return}booleanwhether 是否移除成功
源码: framework/base/interfaces.php#408 (显示) publicfunctionremoveItemChild($itemName,$childName);

从父授权项中移除子授权项。 注意,子授权项并不会真正被删除,仅移除父子关系。

revoke() 方法
abstract public boolean revoke(string $itemName, mixed $userId)
$itemNamestring授权项名称
$userIdmixed用户ID(参见 IWebUser::getId)
{return}boolean是否移除成功
源码: framework/base/interfaces.php#441 (显示) publicfunctionrevoke($itemName,$userId);

撤销一个用户分配的授权项。

save() 方法
abstract public void save()
源码: framework/base/interfaces.php#484 (显示) publicfunctionsave();

保存授权数据到持久存储。 如果授权数据有任何改变, 请确保你调用的这个方法能将改变数据保存到持久存储。

saveAuthAssignment() 方法
abstract public void saveAuthAssignment(CAuthAssignment $assignment)
$assignmentCAuthAssignment已经修改的授权信息。
源码: framework/base/interfaces.php#468 (显示) publicfunctionsaveAuthAssignment($assignment);

保存修改的授权信息。

saveAuthItem() 方法
abstract public void saveAuthItem(CAuthItem $item, string $oldName=NULL)
$itemCAuthItem授权项。
$oldNamestring授权项名称,如果为null,意味着授权项名没有改变。
源码: framework/base/interfaces.php#392 (显示) publicfunctionsaveAuthItem($item,$oldName=null);

保存授权项到持久存储。