IAuthManager
优质
小牛编辑
136浏览
2023-12-01
所有包 | 方法
IAuthManager是验证管理组件必须实现的接口。
验证管理主要负责基于角色访问控制(RBAC)的服务。
源码: framework/base/interfaces.php#400 (显示)
源码: framework/base/interfaces.php#434 (显示)
源码: framework/base/interfaces.php#348 (显示)
源码: framework/base/interfaces.php#473 (显示)
源码: framework/base/interfaces.php#477 (显示)
源码: framework/base/interfaces.php#365 (显示)
源码: framework/base/interfaces.php#495 (显示)
源码: framework/base/interfaces.php#456 (显示)
源码: framework/base/interfaces.php#463 (显示)
源码: framework/base/interfaces.php#386 (显示)
源码: framework/base/interfaces.php#380 (显示)
源码: framework/base/interfaces.php#422 (显示)
源码: framework/base/interfaces.php#415 (显示)
源码: framework/base/interfaces.php#448 (显示)
源码: framework/base/interfaces.php#371 (显示)
源码: framework/base/interfaces.php#408 (显示)
源码: framework/base/interfaces.php#441 (显示)
源码: framework/base/interfaces.php#484 (显示)
源码: framework/base/interfaces.php#468 (显示)
源码: framework/base/interfaces.php#392 (显示)
包 | system.base |
---|---|
继承 | interface IAuthManager |
子类 | CAuthManager, CDbAuthManager, CPhpAuthManager |
源自 | 1.0 |
版本 | $Id: interfaces.php 3515 2011-12-28 12:29:24Z mdomba $ |
源码 | framework/base/interfaces.php |
验证管理主要负责基于角色访问控制(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) | ||
$itemName | string | 父授权项名称 |
$childName | string | 子授权项名称 |
publicfunctionaddItemChild($itemName,$childName);
添加一个授权项作为另一个授权项的子授权项。
assign() 方法abstract public CAuthAssignment assign(string $itemName, mixed $userId, string $bizRule=NULL, mixed $data=NULL) | ||
$itemName | string | 授权项名称 |
$userId | mixed | 用户ID(参见 IWebUser::getId) |
$bizRule | string | 当调用checkAccess时 授权项关联的业务规则 |
$data | mixed | 授权项关联的附加数据 |
{return} | CAuthAssignment | 授权分配信息。 |
publicfunctionassign($itemName,$userId,$bizRule=null,$data=null);
为用户分配一个授权项。
checkAccess() 方法abstract public boolean checkAccess(string $itemName, mixed $userId, array $params=array ( )) | ||
$itemName | string | 需要权限检查的授权项名称 |
$userId | mixed | 用户ID。它应该是一个整数或一个字符串, 代表用户的唯一标识,参见IWebUser::getId。 |
$params | array | 分配给用户的任务或角色的(键-值对) 形式的业务规则。 |
{return} | boolean | 用户是否有权执行操作。 |
publicfunctioncheckAccess($itemName,$userId,$params=array());
检查指定用户的执行权限。
clearAll() 方法abstract public void clearAll() |
publicfunctionclearAll();
移除所有授权数据。
clearAuthAssignments() 方法abstract public void clearAuthAssignments() |
publicfunctionclearAuthAssignments();
移除所有授权分配信息。
createAuthItem() 方法abstract public CAuthItem createAuthItem(string $name, integer $type, string $description='', string $bizRule=NULL, mixed $data=NULL) | ||
$name | string | 授权项名称。必须是一个唯一标识。 |
$type | integer | 授权项类型(0:操作,1:任务,2:角色)。 |
$description | string | 授权项描述 |
$bizRule | string | 授权项关联的业务规则。 这是一块PHP代码,当调用checkAccess时被执行。 |
$data | mixed | 授权项关联的附加数据。 |
{return} | CAuthItem | 授权项 |
publicfunctioncreateAuthItem($name,$type,$description='',$bizRule=null,$data=null);
创建一个授权项。 一个授权项表示允许一个动作(例如,创建一个贴子)。 它有三种类型:操作,任务和角色。 授权项是一个层次结构。 高级项继承低级项。
executeBizRule() 方法abstract public 是否执行返回true。 executeBizRule(string $bizRule, array $params, mixed $data) | ||
$bizRule | string | 执行的业务规则。 |
$params | array | 执行业务规则传递的附加参数。 |
$data | mixed | 分配的授权项的相关附加数据。 |
{return} | 是否执行返回true。 | 如果业务规则为空,它也将返回true。 |
publicfunctionexecuteBizRule($bizRule,$params,$data);
执行业务规则。 业务规则是一块PHP代码当调用checkAccess时将被执行。
getAuthAssignment() 方法abstract public 授权项分配信息。 getAuthAssignment(string $itemName, mixed $userId) | ||
$itemName | string | 授权项名称 |
$userId | mixed | 用户ID(参见 IWebUser::getId) |
{return} | 授权项分配信息。 | 如果返回的授权项没有分配给用户将返回null。 |
publicfunctiongetAuthAssignment($itemName,$userId);
返回授权项分配信息。
getAuthAssignments() 方法abstract public array getAuthAssignments(mixed $userId) | ||
$userId | mixed | 用户ID(参见 IWebUser::getId) |
{return} | array | 用户的授权项分配信息。 如果用户没有分配授权项将返回空数组。 |
publicfunctiongetAuthAssignments($userId);
返回指定用户的授权项分配信息。
getAuthItem() 方法abstract public CAuthItem getAuthItem(string $name) | ||
$name | string | 授权项名 |
{return} | CAuthItem | 授权项。如果没有找到将返回null。 |
publicfunctiongetAuthItem($name);
返回指定名字的授权项
getAuthItems() 方法abstract public array getAuthItems(integer $type=NULL, mixed $userId=NULL) | ||
$type | integer | 授权项类型(0:操作,1:任务,2:角色)。默认为null, 意味着返回所有类型的授权项。 |
$userId | mixed | 用户ID。默认为null, 意味着返回所有授权项,包括未分配给用户的授权项。 |
{return} | array | 授权项的具体类型. |
publicfunctiongetAuthItems($type=null,$userId=null);
返回指定类型和用户的授权项。
getItemChildren() 方法abstract public array getItemChildren(mixed $itemName) | ||
$itemName | mixed | 父授权项名。它可以是字符串或数组。 后者表示一个授权项名的列表。 |
{return} | array | 父授权项的所有子授权项 |
publicfunctiongetItemChildren($itemName);
返回指定授权项的子授权项。
hasItemChild() 方法abstract public boolean hasItemChild(string $itemName, string $childName) | ||
$itemName | string | 父授权项名称 |
$childName | string | 子授权项名称 |
{return} | boolean | 是否存在子授权项 |
publicfunctionhasItemChild($itemName,$childName);
返回一个值表示父授权项是否存在子授权项。
isAssigned() 方法abstract public boolean isAssigned(string $itemName, mixed $userId) | ||
$itemName | string | 授权项名称 |
$userId | mixed | 用户ID(参见 IWebUser::getId) |
{return} | boolean | 授权项是否分配给指定用户。 |
publicfunctionisAssigned($itemName,$userId);
返回一个值表示判断授权项是否分配给指定用户。
removeAuthItem() 方法abstract public boolean removeAuthItem(string $name) | ||
$name | string | 授权项名称 |
{return} | boolean | 无论授权项是否存在都将移除 |
publicfunctionremoveAuthItem($name);
移除指定授权项。
removeItemChild() 方法abstract public boolean removeItemChild(string $itemName, string $childName) | ||
$itemName | string | 父授权项名称 |
$childName | string | 子授权项名称 |
{return} | boolean | whether 是否移除成功 |
publicfunctionremoveItemChild($itemName,$childName);
从父授权项中移除子授权项。 注意,子授权项并不会真正被删除,仅移除父子关系。
revoke() 方法abstract public boolean revoke(string $itemName, mixed $userId) | ||
$itemName | string | 授权项名称 |
$userId | mixed | 用户ID(参见 IWebUser::getId) |
{return} | boolean | 是否移除成功 |
publicfunctionrevoke($itemName,$userId);
撤销一个用户分配的授权项。
save() 方法abstract public void save() |
publicfunctionsave();
保存授权数据到持久存储。 如果授权数据有任何改变, 请确保你调用的这个方法能将改变数据保存到持久存储。
saveAuthAssignment() 方法abstract public void saveAuthAssignment(CAuthAssignment $assignment) | ||
$assignment | CAuthAssignment | 已经修改的授权信息。 |
publicfunctionsaveAuthAssignment($assignment);
保存修改的授权信息。
saveAuthItem() 方法abstract public void saveAuthItem(CAuthItem $item, string $oldName=NULL) | ||
$item | CAuthItem | 授权项。 |
$oldName | string | 授权项名称,如果为null,意味着授权项名没有改变。 |
publicfunctionsaveAuthItem($item,$oldName=null);
保存授权项到持久存储。