没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Interface yii\rbac\ManagerInterface

继承yii\rbac\CheckAccessInterface
实现yii\rbac\BaseManager, yii\rbac\DbManager, yii\rbac\PhpManager
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/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 对象。 请注意,新创建的权限尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 yii\rbac\ManagerInterface
createRole() 创建一个新的 Role 对象。 请注意,新创建的角色尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 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
return boolean

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

throws Exception

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

addChild() 公共 抽象 方法

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

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

是否成功添加为子项

throws yii\base\Exception

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

assign() 公共 抽象 方法

为用户分配角色。

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

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

return yii\rbac\Assignment

角色分配信息。

throws Exception

如果该角色已分配给用户

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

检查将孩子加入父项的可能性。

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

父项

$child yii\rbac\Item

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

return boolean

是否可以添加

createPermission() 公共 抽象 方法

创建一个新的 Permission 对象。 请注意,新创建的权限尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。

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

权限名称

return yii\rbac\Permission

新的 Permission 对象

createRole() 公共 抽象 方法

创建一个新的 Role 对象。 请注意,新创建的角色尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。

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

角色名称

return yii\rbac\Role

新的 Role 对象

getAssignment() 公共 抽象 方法

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

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

角色名称

$userId string|integer

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

return null|yii\rbac\Assignment

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

getAssignments() 公共 抽象 方法

返回指定用户的所有角色分配信息。

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

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

return yii\rbac\Assignment[]

由角色名称索引的分配。如果该用户没有分配角色, 则返回空数组。

getChildRoles() 公共 抽象 方法 (自版本 2.0.10 可用)

返回指定角色的子角色。深度不受限制。

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

要为其提供子角色的角色的名称

return yii\rbac\Role[]

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

throws yii\base\InvalidParamException

如果找不到通过 $roleName 获取的 Role

getChildren() 公共 抽象 方法

返回子项权限和角色。

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

父项名

return yii\rbac\Item[]

子项权限和角色

getPermission() 公共 抽象 方法

返回指定的权限。

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

权限名称。

return null|yii\rbac\Permission

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

getPermissions() 公共 抽象 方法

返回系统中的所有权限。

public abstract yii\rbac\Permission[] getPermissions()
return yii\rbac\Permission[]

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

getPermissionsByRole() 公共 抽象 方法

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

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

角色名称

return yii\rbac\Permission[]

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

getPermissionsByUser() 公共 抽象 方法

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

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

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

return yii\rbac\Permission[]

用户拥有的所有权限。该数组由权限名称索引。

getRole() 公共 抽象 方法

返回指定的角色。

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

角色名称。

return null|yii\rbac\Role

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

getRoles() 公共 抽象 方法

返回系统中的所有角色。

public abstract yii\rbac\Role[] getRoles()
return yii\rbac\Role[]

系统中的所有角色。该数组由角色名称索引。

getRolesByUser() 公共 抽象 方法

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

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

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

return yii\rbac\Role[]

直接分配给用户的所有角色。该数组由角色名称索引。

getRule() 公共 抽象 方法

返回指定名称的规则。

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

规则名称

return null|yii\rbac\Rule

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

getRules() 公共 抽象 方法

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

public abstract yii\rbac\Rule[] getRules()
return yii\rbac\Rule[]

由规则名称索引的规则

getUserIdsByRole() 公共 抽象 方法 (自版本 2.0.7 可用)

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

public abstract array getUserIdsByRole($roleName)
$roleName string
return array

用户 ID 字符串数组

hasChild() 公共 抽象 方法

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

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

是否 $child 已经是 $parent 的孩子了

remove() 公共 抽象 方法

从 RBAC 系统中删除角色,权限或规则。

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

是否成功删除了角色,权限或规则

removeAll() 公共 抽象 方法

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

public abstract void removeAll()
removeAllAssignments() 公共 抽象 方法

删除所有角色分配。

public abstract void removeAllAssignments()
removeAllPermissions() 公共 抽象 方法

删除所有权限。 所有父子关系将相应调整。

public abstract void removeAllPermissions()
removeAllRoles() 公共 抽象 方法

删除所有角色。 所有父子关系将相应调整。

public abstract void removeAllRoles()
removeAllRules() 公共 抽象 方法

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

public abstract void removeAllRules()
removeChild() 公共 抽象 方法

从父项中移除一个子项。 注意,子项目不会被删除。仅删除父子关系。

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

是否删除成功

removeChildren() 公共 抽象 方法

从父项那里删除所有子项。 注意,子项目不会被删除。仅删除父子关系。

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

是否删除成功

revoke() 公共 抽象 方法

撤消用户的角色。

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

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

return boolean

是否撤销成功

revokeAll() 公共 抽象 方法

撤消用户的所有角色。

public abstract \yii\rbac\bool是否撤销成功 revokeAll($userId)
$userId string|integer

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

update() 公共 抽象 方法

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

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

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

$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

更新是否成功

throws Exception

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