0 关注者

接口 yii\rbac\ManagerInterface

扩展yii\rbac\CheckAccessInterface
由以下实现yii\rbac\BaseManager, yii\rbac\DbManager, yii\rbac\PhpManager
自版本可用2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/rbac/ManagerInterface.php

有关 ManagerInterface 的更多详细信息和使用信息,请参阅安全授权指南文章

公共方法

隐藏继承的方法

方法 描述 定义于
add() 将角色、权限或规则添加到 RBAC 系统中。 yii\rbac\ManagerInterface
addChild() 将一个项添加为另一个项的子项。 yii\rbac\ManagerInterface
assign() 将角色分配给用户。 yii\rbac\ManagerInterface
canAddChild() 检查将子项添加到父项的可能性。 yii\rbac\ManagerInterface
checkAccess() 检查用户是否具有指定的权限。 yii\rbac\CheckAccessInterface
createPermission() 创建一个新的 Permission 对象。 yii\rbac\ManagerInterface
createRole() 创建一个新的 Role 对象。 yii\rbac\ManagerInterface
getAssignment() 返回有关角色和用户的分配信息。 yii\rbac\ManagerInterface
getAssignments() 返回指定用户的全部角色分配信息。 yii\rbac\ManagerInterface
getChildRoles() 返回指定角色的子角色。深度没有限制。 yii\rbac\ManagerInterface
getChildren() 返回子权限和/或角色。 yii\rbac\ManagerInterface
getPermission() 返回指定名称的权限。 yii\rbac\ManagerInterface
getPermissions() 返回系统中的所有权限。 yii\rbac\ManagerInterface
getPermissionsByRole() 返回指定角色代表的所有权限。 yii\rbac\ManagerInterface
getPermissionsByUser() 返回用户拥有的所有权限。 yii\rbac\ManagerInterface
getRole() 返回指定名称的角色。 yii\rbac\ManagerInterface
getRoles() 返回系统中的所有角色。 yii\rbac\ManagerInterface
getRolesByUser() 返回通过 assign() 分配给用户的角色。 yii\rbac\ManagerInterface
getRule() 返回指定名称的规则。 yii\rbac\ManagerInterface
getRules() 返回系统中可用的所有规则。 yii\rbac\ManagerInterface
getUserIdsByRole() 返回分配给指定角色的所有用户 ID。 yii\rbac\ManagerInterface
hasChild() 返回一个值,指示子项是否已存在于父项中。 yii\rbac\ManagerInterface
remove() 从 RBAC 系统中移除角色、权限或规则。 yii\rbac\ManagerInterface
removeAll() 移除所有授权数据,包括角色、权限、规则和分配。 yii\rbac\ManagerInterface
removeAllAssignments() 移除所有角色分配。 yii\rbac\ManagerInterface
removeAllPermissions() 移除所有权限。 yii\rbac\ManagerInterface
removeAllRoles() 移除所有角色。 yii\rbac\ManagerInterface
removeAllRules() 移除所有规则。 yii\rbac\ManagerInterface
removeChild() 从其父项中移除子项。 yii\rbac\ManagerInterface
removeChildren() 从其父项中移除所有子项。 yii\rbac\ManagerInterface
revoke() 从用户那里撤销角色。 yii\rbac\ManagerInterface
revokeAll() 从用户那里撤销所有角色。 yii\rbac\ManagerInterface
update() 更新系统中指定的角色、权限或规则。 yii\rbac\ManagerInterface

方法详细信息

隐藏继承的方法

add() 公共抽象方法

将角色、权限或规则添加到 RBAC 系统中。

public abstract boolean add ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
返回 boolean

角色、权限或规则是否成功添加到系统中

抛出 Exception

如果数据验证或保存失败(例如,角色或权限的名称不唯一)

                public function add($object);

            
addChild() 公共抽象方法

将一个项添加为另一个项的子项。

public abstract boolean addChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
返回 boolean

子项是否成功添加

抛出 yii\base\Exception

如果父项-子项关系已存在或检测到循环。

                public function addChild($parent, $child);

            
assign() 公共抽象方法

将角色分配给用户。

public abstract yii\rbac\Assignment assign ( $role, $userId )
$role yii\rbac\Role|yii\rbac\Permission
$userId string|integer

用户 ID(见 yii\web\User::$id

返回 yii\rbac\Assignment

角色分配信息。

抛出 Exception

如果角色已分配给用户

                public function assign($role, $userId);

            
canAddChild() 公共抽象方法(自版本 2.0.8 起可用)

检查将子项添加到父项的可能性。

public abstract boolean canAddChild ( $parent, $child )
$parent yii\rbac\Item

父项

$child yii\rbac\Item

要添加到层次结构中的子项

返回 boolean

添加的可能性

                public function canAddChild($parent, $child);

            
checkAccess() 公共抽象方法

定义于: yii\rbac\CheckAccessInterface::checkAccess()

检查用户是否具有指定的权限。

public abstract boolean checkAccess ( $userId, $permissionName, $params = [] )
$userId string|integer

用户 ID。 应该是一个整数或一个字符串,表示用户的唯一标识符。 查看 yii\web\User::$id.

$permissionName string

要检查的权限名称

$params array

将传递给与分配给用户的角色和权限关联的规则的名称-值对。

返回 boolean

用户是否具有指定的权限。

抛出 yii\base\InvalidParamException

如果 $permissionName 不引用现有权限

                public function checkAccess($userId, $permissionName, $params = []);

            
createPermission() public abstract method

创建一个新的 Permission 对象。

请注意,新创建的权限尚未添加到 RBAC 系统中。 您必须填写必要的数据并调用 add() 以将其添加到系统中。

public abstract yii\rbac\Permission createPermission ( $name )
$name string

权限名称

返回 yii\rbac\Permission

新的 Permission 对象

                public function createPermission($name);

            
createRole() public abstract method

创建一个新的 Role 对象。

请注意,新创建的角色尚未添加到 RBAC 系统中。 您必须填写必要的数据并调用 add() 以将其添加到系统中。

public abstract yii\rbac\Role createRole ( $name )
$name string

角色名称

返回 yii\rbac\Role

新的 Role 对象

                public function createRole($name);

            
getAssignment() public abstract method

返回有关角色和用户的分配信息。

public abstract yii\rbac\Assignment|null getAssignment ( $roleName, $userId )
$roleName string

角色名称

$userId string|integer

用户 ID(见 yii\web\User::$id

返回 yii\rbac\Assignment|null

分配信息。 如果角色未分配给用户,则返回 Null。

                public function getAssignment($roleName, $userId);

            
getAssignments() public abstract method

返回指定用户的全部角色分配信息。

public abstract yii\rbac\Assignment[] getAssignments ( $userId )
$userId string|integer

用户 ID(见 yii\web\User::$id

返回 yii\rbac\Assignment[]

按角色名称索引的分配。 如果用户没有分配任何角色,将返回空数组。

                public function getAssignments($userId);

            
getChildRoles() public abstract method (available since version 2.0.10)

返回指定角色的子角色。深度没有限制。

public abstract yii\rbac\Role[] getChildRoles ( $roleName )
$roleName string

要为其查找子角色的角色名称

返回 yii\rbac\Role[]

子角色。 数组按角色名称索引。 第一个元素是父 Role 本身的实例。

抛出 yii\base\InvalidParamException

如果未找到通过 $roleName 获取的角色

                public function getChildRoles($roleName);

            
getChildren() public abstract method

返回子权限和/或角色。

public abstract yii\rbac\Item[] getChildren ( $name )
$name string

父名称

返回 yii\rbac\Item[]

子权限和/或角色

                public function getChildren($name);

            
getPermission() public abstract method

返回指定名称的权限。

public abstract yii\rbac\Permission|null getPermission ( $name )
$name string

权限名称。

返回 yii\rbac\Permission|null

与指定名称相对应的权限。 如果没有此权限,则返回 Null。

                public function getPermission($name);

            
getPermissions() public abstract method

返回系统中的所有权限。

public abstract yii\rbac\Permission[] getPermissions ( )
返回 yii\rbac\Permission[]

系统中的所有权限。 数组按权限名称索引。

                public function getPermissions();

            
getPermissionsByRole() public abstract method

返回指定角色代表的所有权限。

public abstract yii\rbac\Permission[] getPermissionsByRole ( $roleName )
$roleName string

角色名称

返回 yii\rbac\Permission[]

角色代表的所有权限。 数组按权限名称索引。

                public function getPermissionsByRole($roleName);

            
getPermissionsByUser() public abstract method

返回用户拥有的所有权限。

public abstract yii\rbac\Permission[] getPermissionsByUser ( $userId )
$userId string|integer

用户 ID(见 yii\web\User::$id

返回 yii\rbac\Permission[]

用户具有的所有权限。 数组按权限名称索引。

                public function getPermissionsByUser($userId);

            
getRole() public abstract method

返回指定名称的角色。

public abstract yii\rbac\Role|null getRole ( $name )
$name string

角色名称。

返回 yii\rbac\Role|null

与指定名称相对应的角色。 如果没有此角色,则返回 Null。

                public function getRole($name);

            
getRoles() public abstract method

返回系统中的所有角色。

public abstract yii\rbac\Role[] getRoles ( )
返回 yii\rbac\Role[]

系统中的所有角色。数组以角色名称为索引。

                public function getRoles();

            
getRolesByUser() 公共抽象方法

返回通过 assign() 分配给用户的角色。

请注意,不会返回未直接分配给用户的子角色。

public abstract yii\rbac\Role[] getRolesByUser ( $userId )
$userId string|integer

用户 ID(见 yii\web\User::$id

返回 yii\rbac\Role[]

直接分配给用户的全部角色。数组以角色名称为索引。

                public function getRolesByUser($userId);

            
getRule() 公共抽象方法

返回指定名称的规则。

public abstract yii\rbac\Rule|null getRule ( $name )
$name string

规则名称

返回 yii\rbac\Rule|null

规则对象,如果指定的名称不对应于规则,则为 null。

                public function getRule($name);

            
getRules() 公共抽象方法

返回系统中可用的所有规则。

public abstract yii\rbac\Rule[] getRules ( )
返回 yii\rbac\Rule[]

以规则名称为索引的规则

                public function getRules();

            
getUserIdsByRole() 公共抽象方法 (从版本 2.0.7 开始可用)

返回分配给指定角色的所有用户 ID。

public abstract array getUserIdsByRole ( $roleName )
$roleName string
返回 array

用户 ID 字符串数组

                public function getUserIdsByRole($roleName);

            
hasChild() 公共抽象方法

返回一个值,指示子项是否已存在于父项中。

public abstract boolean hasChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
返回 boolean

$child 是否已经是 $parent 的子项

                public function hasChild($parent, $child);

            
remove() 公共抽象方法

从 RBAC 系统中移除角色、权限或规则。

public abstract boolean remove ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
返回 boolean

角色、权限或规则是否已成功删除

                public function remove($object);

            
removeAll() 公共抽象方法

移除所有授权数据,包括角色、权限、规则和分配。

public abstract void removeAll ( )

                public function removeAll();

            
removeAllAssignments() 公共抽象方法

移除所有角色分配。

public abstract void removeAllAssignments ( )

                public function removeAllAssignments();

            
removeAllPermissions() 公共抽象方法

移除所有权限。

所有父-子关系将相应调整。

public abstract void removeAllPermissions ( )

                public function removeAllPermissions();

            
removeAllRoles() 公共抽象方法

移除所有角色。

所有父-子关系将相应调整。

public abstract void removeAllRoles ( )

                public function removeAllRoles();

            
removeAllRules() 公共抽象方法

移除所有规则。

所有具有规则的角色和权限将相应调整。

public abstract void removeAllRules ( )

                public function removeAllRules();

            
removeChild() 公共抽象方法

从其父项中移除子项。

请注意,子项不会被删除。仅删除了父子关系。

public abstract boolean removeChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
返回 boolean

删除是否成功

                public function removeChild($parent, $child);

            
removeChildren() 公共抽象方法

从其父项中移除所有子项。

请注意,子项不会被删除。仅删除了父子关系。

public abstract boolean removeChildren ( $parent )
$parent yii\rbac\Item
返回 boolean

删除是否成功

                public function removeChildren($parent);

            
revoke() 公共抽象方法

从用户那里撤销角色。

public abstract boolean revoke ( $role, $userId )
$role yii\rbac\Role|yii\rbac\Permission
$userId string|integer

用户 ID(见 yii\web\User::$id

返回 boolean

撤销是否成功

                public function revoke($role, $userId);

            
revokeAll() 公共抽象方法

从用户那里撤销所有角色。

public abstract boolean revokeAll ( $userId )
$userId 混合类型

用户 ID(见 yii\web\User::$id

返回 boolean

撤销是否成功

                public function revokeAll($userId);

            
update() 公开抽象方法

更新系统中指定的角色、权限或规则。

public abstract boolean update ( $name, $object )
$name string

角色、权限或规则的旧名称

$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
返回 boolean

更新是否成功

抛出 Exception

如果数据验证或保存失败(例如,角色或权限的名称不唯一)

                public function update($name, $object);