Abstract Class yii\rbac\BaseManager
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 |
公共方法
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
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 |
属性详情
默认角色。该数组由角色名称索引
在不调用 assign() 的情况下自动分配给每个用户的角色名称列表。 请注意,无论身份验证的状态如何,这些角色都将应用于用户。
系统中的所有权限。该数组由权限名称索引。
系统中的所有角色。该数组由角色名称索引。
方法详情
向 RBAC 系统添加角色,权限或规则。
public boolean add($object) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
return | boolean | 角色,权限或规则是否已成功添加到系统中 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如角色名称或权限不唯一) |
将一个 auth 项添加到 RBAC 系统。
protected abstract boolean addItem($item) | ||
$item | yii\rbac\Item | 要添加的项目 |
return | boolean | 是否已成功将 auth 项添加到系统中 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如角色名称或权限不唯一) |
向 RBAC 系统添加规则。
protected abstract boolean addRule($rule) | ||
$rule | yii\rbac\Rule | 要添加的规则 |
return | boolean | 规则是否已成功添加到系统中 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如规则名称不唯一) |
创建一个新的 Permission 对象。 请注意,新创建的权限尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。
public yii\rbac\Permission createPermission($name) | ||
$name | string | 权限名称 |
return | yii\rbac\Permission | 新的 Permission 对象 |
---|
创建一个新的 Role 对象。 请注意,新创建的角色尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。
public yii\rbac\Role createRole($name) | ||
$name | string | 角色名称 |
return | yii\rbac\Role | 新的 Role 对象 |
---|
执行与指定 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 项目有无效规则。 |
将 defaultRoles 作为 Role 对象的数组返回。
public yii\rbac\Role[] getDefaultRoleInstances() | ||
return | yii\rbac\Role[] | 默认角色。该数组由角色名称索引 |
---|
获取默认角色
public string[] getDefaultRoles() | ||
return | string[] | 默认角色 |
---|
返回指定的 auth 项。
protected abstract yii\rbac\Item getItem($name) | ||
$name | string | Auth 项的名称。 |
return | yii\rbac\Item | 与指定名称对应的 auth 项。如果没有这样的项目,则返回 Null。 |
---|
返回指定类型的项。
protected abstract yii\rbac\Item[] getItems($type) | ||
$type | integer | Auth 项类型(yii\rbac\Item::TYPE_ROLE 或 yii\rbac\Item::TYPE_PERMISSION。 |
return | yii\rbac\Item[] | 指定类型的 auth 项。 |
---|
返回指定的权限。
public null|yii\rbac\Permission getPermission($name) | ||
$name | string | 权限名称。 |
return | null|yii\rbac\Permission | 权限对应于指定名称的权限。如果没有此类权限,则返回 Null。 |
---|
返回系统中的所有权限。
public yii\rbac\Permission[] getPermissions() | ||
return | yii\rbac\Permission[] | 系统中的所有权限。该数组由权限名称索引。 |
---|
返回指定的角色。
public null|yii\rbac\Role getRole($name) | ||
$name | string | 角色名称。 |
return | null|yii\rbac\Role | 角色与指定名称对应的角色。如果没有这样的角色,则返回 Null。 |
---|
返回系统中的所有角色。
public yii\rbac\Role[] getRoles() | ||
return | yii\rbac\Role[] | 系统中的所有角色。该数组由角色名称索引。 |
---|
检查 $assignment 和 $defaultRoles 数组是否都为空。
protected boolean hasNoAssignments(array $assignments) | ||
$assignments | ||
return | boolean | $assignment 和 $defaultRoles 数组是否都为空 |
---|
从 RBAC 系统中删除角色,权限或规则。
public boolean remove($object) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
return | boolean | 是否成功删除了角色,权限或规则 |
---|
从 RBAC 系统中删除 auth 项。
protected abstract boolean removeItem($item) | ||
$item | yii\rbac\Item | 要删除的项目 |
return | boolean | 是否成功删除了角色或权限 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如角色名称或权限不唯一) |
从 RBAC 系统中删除规则。
protected abstract boolean removeRule($rule) | ||
$rule | yii\rbac\Rule | 要删除的规则 |
return | boolean | 是否成功删除了规则 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如规则名称不唯一) |
设置默认角色
public void setDefaultRoles($roles) | ||
$roles | string[]|Closure | 角色的数组,或者返回角色数组的回调函数 |
throws | yii\base\InvalidArgumentException | 当 $roles 既不是数组也不是回调函数 |
---|---|---|
throws | yii\base\InvalidValueException | 当回调函数返回不是数组时 |
更新系统中指定的角色,权限或规则。
public boolean update($name, $object) | ||
$name | string | 角色,权限或规则的旧名称 |
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
return | boolean | 更新是否成功 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如角色名称或权限不唯一) |
更新 RBAC 系统中的 auth 项。
protected abstract boolean updateItem($name, $item) | ||
$name | string | 要更新的项目名称 |
$item | yii\rbac\Item | 更新的项目 |
return | boolean | 是否已成功更新 auth 项 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如角色名称或权限不唯一) |
更新 RBAC 系统中的规则。
protected abstract boolean updateRule($name, $rule) | ||
$name | string | 要更新的规则的名称 |
$rule | yii\rbac\Rule | 更新的规则 |
return | boolean | 规则是否已成功更新 |
---|---|---|
throws | Exception | 如果数据验证或保存失败(例如规则名称不唯一) |