没有命名空间的类 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

Abstract Class yii\rbac\BaseManager

继承yii\rbac\BaseManager » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\rbac\ManagerInterface
子类yii\rbac\DbManager, yii\rbac\PhpManager
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/rbac/BaseManager.php

BaseManager 是实现 RBAC 管理 yii\rbac\ManagerInterface 的基类。

有关 DbManager 的更多详细信息和用法信息,请参阅 授权指南

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$defaultRoleInstances yii\rbac\Role[] 默认角色。该数组由角色名称索引 yii\rbac\BaseManager
$permissions yii\rbac\Permission[] 系统中的所有权限。该数组由权限名称索引。 yii\rbac\BaseManager
$roles yii\rbac\Role[] 系统中的所有角色。该数组由角色名称索引。 yii\rbac\BaseManager
$rules yii\rbac\Rule[] 由规则名称索引的规则 yii\rbac\ManagerInterface

受保护的属性

隐藏继承的属性

属性类型描述被定义在
$defaultRoles array 在不调用 assign() 的情况下自动分配给每个用户的角色名称列表。 请注意,无论身份验证的状态如何,这些角色都将应用于用户。 yii\rbac\BaseManager

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
add() 向 RBAC 系统添加角色,权限或规则。 yii\rbac\BaseManager
addChild() 将项目添加为另一项目的子项。 yii\rbac\ManagerInterface
assign() 为用户分配角色。 yii\rbac\ManagerInterface
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canAddChild() 检查将孩子加入父项的可能性。 yii\rbac\ManagerInterface
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
createPermission() 创建一个新的 Permission 对象。 请注意,新创建的权限尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 yii\rbac\BaseManager
createRole() 创建一个新的 Role 对象。 请注意,新创建的角色尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 yii\rbac\BaseManager
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getAssignment() 返回有关角色和用户的分配信息。 yii\rbac\ManagerInterface
getAssignments() 返回指定用户的所有角色分配信息。 yii\rbac\ManagerInterface
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getChildRoles() 返回指定角色的子角色。深度不受限制。 yii\rbac\ManagerInterface
getChildren() 返回子项权限和角色。 yii\rbac\ManagerInterface
getDefaultRoleInstances() 将 defaultRoles 作为 Role 对象的数组返回。 yii\rbac\BaseManager
getDefaultRoles() 获取默认角色 yii\rbac\BaseManager
getPermission() 返回指定的权限。 yii\rbac\BaseManager
getPermissions() 返回系统中的所有权限。 yii\rbac\BaseManager
getPermissionsByRole() 返回指定角色所代表的所有权限。 yii\rbac\ManagerInterface
getPermissionsByUser() 返回用户拥有的所有权限。 yii\rbac\ManagerInterface
getRole() 返回指定的角色。 yii\rbac\BaseManager
getRoles() 返回系统中的所有角色。 yii\rbac\BaseManager
getRolesByUser() 返回通过 assign() 分配给用户的角色。 请注意,不会返回未直接分配给用户的子角色。 yii\rbac\ManagerInterface
getRule() 返回指定名称的规则。 yii\rbac\ManagerInterface
getRules() 返回系统中可用的所有规则。 yii\rbac\ManagerInterface
getUserIdsByRole() 返回分配给指定角色的所有用户 ID。 yii\rbac\ManagerInterface
hasChild() 返回一个值,该值指示父项的子项是否已存在。 yii\rbac\ManagerInterface
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
remove() 从 RBAC 系统中删除角色,权限或规则。 yii\rbac\BaseManager
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
setDefaultRoles() 设置默认角色 yii\rbac\BaseManager
trigger() Triggers an event. yii\base\Component
update() 更新系统中指定的角色,权限或规则。 yii\rbac\BaseManager

受保护的方法

隐藏继承的方法

方法描述被定义在
addItem() 将一个 auth 项添加到 RBAC 系统。 yii\rbac\BaseManager
addRule() 向 RBAC 系统添加规则。 yii\rbac\BaseManager
executeRule() 执行与指定 auth 项关联的规则。 yii\rbac\BaseManager
getItem() 返回指定的 auth 项。 yii\rbac\BaseManager
getItems() 返回指定类型的项。 yii\rbac\BaseManager
hasNoAssignments() 检查 $assignment 和 $defaultRoles 数组是否都为空。 yii\rbac\BaseManager
removeItem() 从 RBAC 系统中删除 auth 项。 yii\rbac\BaseManager
removeRule() 从 RBAC 系统中删除规则。 yii\rbac\BaseManager
updateItem() 更新 RBAC 系统中的 auth 项。 yii\rbac\BaseManager
updateRule() 更新 RBAC 系统中的规则。 yii\rbac\BaseManager

属性详情

$defaultRoleInstances 公共 只读 属性

默认角色。该数组由角色名称索引

$defaultRoles 受保护 属性

在不调用 assign() 的情况下自动分配给每个用户的角色名称列表。 请注意,无论身份验证的状态如何,这些角色都将应用于用户。

public string[] getDefaultRoles ( )
public void setDefaultRoles ( $roles )
$permissions 公共 只读 属性

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

$roles 公共 只读 属性

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

public yii\rbac\Role[] getRoles ( )

方法详情

add() 公共 方法

向 RBAC 系统添加角色,权限或规则。

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

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

throws Exception

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

addItem() 受保护 抽象 方法

将一个 auth 项添加到 RBAC 系统。

protected abstract boolean addItem($item)
$item yii\rbac\Item

要添加的项目

return boolean

是否已成功将 auth 项添加到系统中

throws Exception

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

addRule() 受保护 抽象 方法

向 RBAC 系统添加规则。

protected abstract boolean addRule($rule)
$rule yii\rbac\Rule

要添加的规则

return boolean

规则是否已成功添加到系统中

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)

createPermission() 公共 方法

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

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

权限名称

return yii\rbac\Permission

新的 Permission 对象

createRole() 公共 方法

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

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

角色名称

return yii\rbac\Role

新的 Role 对象

executeRule() 受保护 方法

执行与指定 auth 项关联的规则。

如果项目未指定规则,则此方法将返回 true。 否则返回 yii\rbac\Rule::execute() 的值。

protected boolean executeRule($user, $item, $params)
$user string|integer

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

$item yii\rbac\Item

需要执行其规则的 auth 项

$params array

传递给 yii\rbac\CheckAccessInterface::checkAccess() 的参数,并且也将传递给规则

return boolean

yii\rbac\Rule::execute() 的返回值。如果 auth 项目未指定规则,则返回 true。

throws yii\base\InvalidConfigException

如果 auth 项目有无效规则。

getDefaultRoleInstances() 公共 方法 (自版本 2.0.12 可用)

将 defaultRoles 作为 Role 对象的数组返回。

public yii\rbac\Role[] getDefaultRoleInstances()
return yii\rbac\Role[]

默认角色。该数组由角色名称索引

getDefaultRoles() 公共 方法 (自版本 2.0.14 可用)

获取默认角色

public string[] getDefaultRoles()
return string[]

默认角色

getItem() 受保护 抽象 方法

返回指定的 auth 项。

protected abstract yii\rbac\Item getItem($name)
$name string

Auth 项的名称。

return yii\rbac\Item

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

getItems() 受保护 抽象 方法

返回指定类型的项。

protected abstract yii\rbac\Item[] getItems($type)
$type integer

Auth 项类型(yii\rbac\Item::TYPE_ROLEyii\rbac\Item::TYPE_PERMISSION

return yii\rbac\Item[]

指定类型的 auth 项。

getPermission() 公共 方法

返回指定的权限。

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

权限名称。

return null|yii\rbac\Permission

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

getPermissions() 公共 方法

返回系统中的所有权限。

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

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

getRole() 公共 方法

返回指定的角色。

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

角色名称。

return null|yii\rbac\Role

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

getRoles() 公共 方法

返回系统中的所有角色。

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

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

hasNoAssignments() 受保护 方法 (自版本 2.0.11 可用)

检查 $assignment 和 $defaultRoles 数组是否都为空。

protected boolean hasNoAssignments(array $assignments)
$assignments
return boolean

$assignment 和 $defaultRoles 数组是否都为空

remove() 公共 方法

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

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

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

removeItem() 受保护 抽象 方法

从 RBAC 系统中删除 auth 项。

protected abstract boolean removeItem($item)
$item yii\rbac\Item

要删除的项目

return boolean

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

throws Exception

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

removeRule() 受保护 抽象 方法

从 RBAC 系统中删除规则。

protected abstract boolean removeRule($rule)
$rule yii\rbac\Rule

要删除的规则

return boolean

是否成功删除了规则

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)

setDefaultRoles() 公共 方法 (自版本 2.0.14 可用)

设置默认角色

public void setDefaultRoles($roles)
$roles string[]|Closure

角色的数组,或者返回角色数组的回调函数

throws yii\base\InvalidArgumentException

当 $roles 既不是数组也不是回调函数

throws yii\base\InvalidValueException

当回调函数返回不是数组时

update() 公共 方法

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

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

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

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

更新是否成功

throws Exception

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

updateItem() 受保护 抽象 方法

更新 RBAC 系统中的 auth 项。

protected abstract boolean updateItem($name, $item)
$name string

要更新的项目名称

$item yii\rbac\Item

更新的项目

return boolean

是否已成功更新 auth 项

throws Exception

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

updateRule() 受保护 抽象 方法

更新 RBAC 系统中的规则。

protected abstract boolean updateRule($name, $rule)
$name string

要更新的规则的名称

$rule yii\rbac\Rule

更新的规则

return boolean

规则是否已成功更新

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)