接口 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 的更多详细信息和使用信息,请参阅安全授权指南文章。
公共方法
方法详细信息
将角色、权限或规则添加到 RBAC 系统中。
public abstract boolean add ( $object ) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
返回 | boolean |
角色、权限或规则是否成功添加到系统中 |
---|---|---|
抛出 | Exception |
如果数据验证或保存失败(例如,角色或权限的名称不唯一) |
public function add($object);
将一个项添加为另一个项的子项。
public abstract boolean addChild ( $parent, $child ) | ||
$parent | yii\rbac\Item | |
$child | yii\rbac\Item | |
返回 | boolean |
子项是否成功添加 |
---|---|---|
抛出 | yii\base\Exception |
如果父项-子项关系已存在或检测到循环。 |
public function addChild($parent, $child);
将角色分配给用户。
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);
检查将子项添加到父项的可能性。
public abstract boolean canAddChild ( $parent, $child ) | ||
$parent | yii\rbac\Item |
父项 |
$child | yii\rbac\Item |
要添加到层次结构中的子项 |
返回 | boolean |
添加的可能性 |
---|
public function canAddChild($parent, $child);
定义于: 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 = []);
创建一个新的 Permission 对象。
请注意,新创建的权限尚未添加到 RBAC 系统中。 您必须填写必要的数据并调用 add() 以将其添加到系统中。
public abstract yii\rbac\Permission createPermission ( $name ) | ||
$name | string |
权限名称 |
返回 | yii\rbac\Permission |
新的 Permission 对象 |
---|
public function createPermission($name);
创建一个新的 Role 对象。
请注意,新创建的角色尚未添加到 RBAC 系统中。 您必须填写必要的数据并调用 add() 以将其添加到系统中。
public abstract yii\rbac\Role createRole ( $name ) | ||
$name | string |
角色名称 |
返回 | yii\rbac\Role |
新的 Role 对象 |
---|
public function createRole($name);
返回有关角色和用户的分配信息。
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);
返回指定用户的全部角色分配信息。
public abstract yii\rbac\Assignment[] getAssignments ( $userId ) | ||
$userId | string|integer |
用户 ID(见 yii\web\User::$id) |
返回 | yii\rbac\Assignment[] |
按角色名称索引的分配。 如果用户没有分配任何角色,将返回空数组。 |
---|
public function getAssignments($userId);
返回指定角色的子角色。深度没有限制。
public abstract yii\rbac\Role[] getChildRoles ( $roleName ) | ||
$roleName | string |
要为其查找子角色的角色名称 |
返回 | yii\rbac\Role[] |
子角色。 数组按角色名称索引。 第一个元素是父 Role 本身的实例。 |
---|---|---|
抛出 | yii\base\InvalidParamException |
如果未找到通过 $roleName 获取的角色 |
public function getChildRoles($roleName);
返回子权限和/或角色。
public abstract yii\rbac\Item[] getChildren ( $name ) | ||
$name | string |
父名称 |
返回 | yii\rbac\Item[] |
子权限和/或角色 |
---|
public function getChildren($name);
返回指定名称的权限。
public abstract yii\rbac\Permission|null getPermission ( $name ) | ||
$name | string |
权限名称。 |
返回 | yii\rbac\Permission|null |
与指定名称相对应的权限。 如果没有此权限,则返回 Null。 |
---|
public function getPermission($name);
返回系统中的所有权限。
public abstract yii\rbac\Permission[] getPermissions ( ) | ||
返回 | yii\rbac\Permission[] |
系统中的所有权限。 数组按权限名称索引。 |
---|
public function getPermissions();
返回指定角色代表的所有权限。
public abstract yii\rbac\Permission[] getPermissionsByRole ( $roleName ) | ||
$roleName | string |
角色名称 |
返回 | yii\rbac\Permission[] |
角色代表的所有权限。 数组按权限名称索引。 |
---|
public function getPermissionsByRole($roleName);
返回用户拥有的所有权限。
public abstract yii\rbac\Permission[] getPermissionsByUser ( $userId ) | ||
$userId | string|integer |
用户 ID(见 yii\web\User::$id) |
返回 | yii\rbac\Permission[] |
用户具有的所有权限。 数组按权限名称索引。 |
---|
public function getPermissionsByUser($userId);
返回指定名称的角色。
public abstract yii\rbac\Role|null getRole ( $name ) | ||
$name | string |
角色名称。 |
返回 | yii\rbac\Role|null |
与指定名称相对应的角色。 如果没有此角色,则返回 Null。 |
---|
public function getRole($name);
返回系统中的所有角色。
public abstract yii\rbac\Role[] getRoles ( ) | ||
返回 | yii\rbac\Role[] |
系统中的所有角色。数组以角色名称为索引。 |
---|
public function getRoles();
返回通过 assign() 分配给用户的角色。
请注意,不会返回未直接分配给用户的子角色。
public abstract yii\rbac\Role[] getRolesByUser ( $userId ) | ||
$userId | string|integer |
用户 ID(见 yii\web\User::$id) |
返回 | yii\rbac\Role[] |
直接分配给用户的全部角色。数组以角色名称为索引。 |
---|
public function getRolesByUser($userId);
返回指定名称的规则。
public abstract yii\rbac\Rule|null getRule ( $name ) | ||
$name | string |
规则名称 |
返回 | yii\rbac\Rule|null |
规则对象,如果指定的名称不对应于规则,则为 null。 |
---|
public function getRule($name);
返回系统中可用的所有规则。
public abstract yii\rbac\Rule[] getRules ( ) | ||
返回 | yii\rbac\Rule[] |
以规则名称为索引的规则 |
---|
public function getRules();
返回分配给指定角色的所有用户 ID。
public abstract array getUserIdsByRole ( $roleName ) | ||
$roleName | string | |
返回 | array |
用户 ID 字符串数组 |
---|
public function getUserIdsByRole($roleName);
返回一个值,指示子项是否已存在于父项中。
public abstract boolean hasChild ( $parent, $child ) | ||
$parent | yii\rbac\Item | |
$child | yii\rbac\Item | |
返回 | boolean |
|
---|
public function hasChild($parent, $child);
从 RBAC 系统中移除角色、权限或规则。
public abstract boolean remove ( $object ) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
返回 | boolean |
角色、权限或规则是否已成功删除 |
---|
public function remove($object);
移除所有权限。
所有父-子关系将相应调整。
public abstract void removeAllPermissions ( ) |
public function removeAllPermissions();
移除所有规则。
所有具有规则的角色和权限将相应调整。
public abstract void removeAllRules ( ) |
public function removeAllRules();
从其父项中移除子项。
请注意,子项不会被删除。仅删除了父子关系。
public abstract boolean removeChild ( $parent, $child ) | ||
$parent | yii\rbac\Item | |
$child | yii\rbac\Item | |
返回 | boolean |
删除是否成功 |
---|
public function removeChild($parent, $child);
从其父项中移除所有子项。
请注意,子项不会被删除。仅删除了父子关系。
public abstract boolean removeChildren ( $parent ) | ||
$parent | yii\rbac\Item | |
返回 | boolean |
删除是否成功 |
---|
public function removeChildren($parent);
从用户那里撤销角色。
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);
从用户那里撤销所有角色。
public abstract boolean revokeAll ( $userId ) | ||
$userId | 混合类型 |
用户 ID(见 yii\web\User::$id) |
返回 | boolean |
撤销是否成功 |
---|
public function revokeAll($userId);
更新系统中指定的角色、权限或规则。
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);
注册 或者 登录 才能发表评论。