HumHub Documentation (unofficial)

ManagerInterface extends CheckAccessInterface

For more details and usage information on ManagerInterface, see the [guide article on security authorization](guide:security-authorization).

Tags
author

Qiang Xue qiang.xue@gmail.com

since
2.0

Table of Contents

Methods

add()  : bool
Adds a role, permission or rule to the RBAC system.
addChild()  : bool
Adds an item as a child of another item.
assign()  : Assignment
Assigns a role to a user.
canAddChild()  : bool
Checks the possibility of adding a child to parent.
checkAccess()  : bool
Checks if the user has the specified permission.
createPermission()  : Permission
Creates a new Permission object.
createRole()  : Role
Creates a new Role object.
getAssignment()  : Assignment|null
Returns the assignment information regarding a role and a user.
getAssignments()  : array<string|int, Assignment>
Returns all role assignment information for the specified user.
getChildren()  : array<string|int, Item>
Returns the child permissions and/or roles.
getChildRoles()  : array<string|int, Role>
Returns child roles of the role specified. Depth isn't limited.
getPermission()  : Permission|null
Returns the named permission.
getPermissions()  : array<string|int, Permission>
Returns all permissions in the system.
getPermissionsByRole()  : array<string|int, Permission>
Returns all permissions that the specified role represents.
getPermissionsByUser()  : array<string|int, Permission>
Returns all permissions that the user has.
getRole()  : Role|null
Returns the named role.
getRoles()  : array<string|int, Role>
Returns all roles in the system.
getRolesByUser()  : array<string|int, Role>
Returns the roles that are assigned to the user via [[assign()]].
getRule()  : Rule|null
Returns the rule of the specified name.
getRules()  : array<string|int, Rule>
Returns all rules available in the system.
getUserIdsByRole()  : array<string|int, mixed>
Returns all user IDs assigned to the role specified.
hasChild()  : bool
Returns a value indicating whether the child already exists for the parent.
remove()  : bool
Removes a role, permission or rule from the RBAC system.
removeAll()  : mixed
Removes all authorization data, including roles, permissions, rules, and assignments.
removeAllAssignments()  : mixed
Removes all role assignments.
removeAllPermissions()  : mixed
Removes all permissions.
removeAllRoles()  : mixed
Removes all roles.
removeAllRules()  : mixed
Removes all rules.
removeChild()  : bool
Removes a child from its parent.
removeChildren()  : bool
Removed all children form their parent.
revoke()  : bool
Revokes a role from a user.
revokeAll()  : bool
Revokes all roles from a user.
update()  : bool
Updates the specified role, permission or rule in the system.

Methods

add()

Adds a role, permission or rule to the RBAC system.

public add(Role|Permission|Rule $object) : bool
Parameters
$object : Role|Permission|Rule
Tags
throws
Exception

if data validation or saving fails (such as the name of the role or permission is not unique)

Return values
bool —

whether the role, permission or rule is successfully added to the system

addChild()

Adds an item as a child of another item.

public addChild(Item $parent, Item $child) : bool
Parameters
$parent : Item
$child : Item
Tags
throws
Exception

if the parent-child relationship already exists or if a loop has been detected.

Return values
bool —

whether the child successfully added

assign()

Assigns a role to a user.

public assign(Role|Permission $role, string|int $userId) : Assignment
Parameters
$role : Role|Permission
$userId : string|int

the user ID (see [[\yii\web\User::id]])

Tags
throws
Exception

if the role has already been assigned to the user

Return values
Assignment —

the role assignment information.

canAddChild()

Checks the possibility of adding a child to parent.

public canAddChild(Item $parent, Item $child) : bool
Parameters
$parent : Item

the parent item

$child : Item

the child item to be added to the hierarchy

Tags
since
2.0.8
Return values
bool —

possibility of adding

checkAccess()

Checks if the user has the specified permission.

public checkAccess(string|int $userId, string $permissionName[, array<string|int, mixed> $params = [] ]) : bool
Parameters
$userId : string|int

the user ID. This should be either an integer or a string representing the unique identifier of a user. See [[\yii\web\User::id]].

$permissionName : string

the name of the permission to be checked against

$params : array<string|int, mixed> = []

name-value pairs that will be passed to the rules associated with the roles and permissions assigned to the user.

Tags
throws
InvalidParamException

if $permissionName does not refer to an existing permission

Return values
bool —

whether the user has the specified permission.

createPermission()

Creates a new Permission object.

public createPermission(string $name) : Permission

Note that the newly created permission is not added to the RBAC system yet. You must fill in the needed data and call [[add()]] to add it to the system.

Parameters
$name : string

the permission name

Return values
Permission —

the new Permission object

createRole()

Creates a new Role object.

public createRole(string $name) : Role

Note that the newly created role is not added to the RBAC system yet. You must fill in the needed data and call [[add()]] to add it to the system.

Parameters
$name : string

the role name

Return values
Role —

the new Role object

getAssignment()

Returns the assignment information regarding a role and a user.

public getAssignment(string $roleName, string|int $userId) : Assignment|null
Parameters
$roleName : string

the role name

$userId : string|int

the user ID (see [[\yii\web\User::id]])

Return values
Assignment|null —

the assignment information. Null is returned if the role is not assigned to the user.

getAssignments()

Returns all role assignment information for the specified user.

public getAssignments(string|int $userId) : array<string|int, Assignment>
Parameters
$userId : string|int

the user ID (see [[\yii\web\User::id]])

Return values
array<string|int, Assignment> —

the assignments indexed by role names. An empty array will be returned if there is no role assigned to the user.

getChildren()

Returns the child permissions and/or roles.

public getChildren(string $name) : array<string|int, Item>
Parameters
$name : string

the parent name

Return values
array<string|int, Item> —

the child permissions and/or roles

getChildRoles()

Returns child roles of the role specified. Depth isn't limited.

public getChildRoles(string $roleName) : array<string|int, Role>
Parameters
$roleName : string

name of the role to file child roles for

Tags
throws
InvalidParamException

if Role was not found that are getting by $roleName

since
2.0.10
Return values
array<string|int, Role> —

Child roles. The array is indexed by the role names. First element is an instance of the parent Role itself.

getPermission()

Returns the named permission.

public getPermission(string $name) : Permission|null
Parameters
$name : string

the permission name.

Return values
Permission|null —

the permission corresponding to the specified name. Null is returned if no such permission.

getPermissions()

Returns all permissions in the system.

public getPermissions() : array<string|int, Permission>
Return values
array<string|int, Permission> —

all permissions in the system. The array is indexed by the permission names.

getPermissionsByRole()

Returns all permissions that the specified role represents.

public getPermissionsByRole(string $roleName) : array<string|int, Permission>
Parameters
$roleName : string

the role name

Return values
array<string|int, Permission> —

all permissions that the role represents. The array is indexed by the permission names.

getPermissionsByUser()

Returns all permissions that the user has.

public getPermissionsByUser(string|int $userId) : array<string|int, Permission>
Parameters
$userId : string|int

the user ID (see [[\yii\web\User::id]])

Return values
array<string|int, Permission> —

all permissions that the user has. The array is indexed by the permission names.

getRole()

Returns the named role.

public getRole(string $name) : Role|null
Parameters
$name : string

the role name.

Return values
Role|null —

the role corresponding to the specified name. Null is returned if no such role.

getRoles()

Returns all roles in the system.

public getRoles() : array<string|int, Role>
Return values
array<string|int, Role> —

all roles in the system. The array is indexed by the role names.

getRolesByUser()

Returns the roles that are assigned to the user via [[assign()]].

public getRolesByUser(string|int $userId) : array<string|int, Role>

Note that child roles that are not assigned directly to the user will not be returned.

Parameters
$userId : string|int

the user ID (see [[\yii\web\User::id]])

Return values
array<string|int, Role> —

all roles directly assigned to the user. The array is indexed by the role names.

getRule()

Returns the rule of the specified name.

public getRule(string $name) : Rule|null
Parameters
$name : string

the rule name

Return values
Rule|null —

the rule object, or null if the specified name does not correspond to a rule.

getRules()

Returns all rules available in the system.

public getRules() : array<string|int, Rule>
Return values
array<string|int, Rule> —

the rules indexed by the rule names

getUserIdsByRole()

Returns all user IDs assigned to the role specified.

public getUserIdsByRole(string $roleName) : array<string|int, mixed>
Parameters
$roleName : string
Tags
since
2.0.7
Return values
array<string|int, mixed> —

array of user ID strings

hasChild()

Returns a value indicating whether the child already exists for the parent.

public hasChild(Item $parent, Item $child) : bool
Parameters
$parent : Item
$child : Item
Return values
bool —

whether $child is already a child of $parent

removeAll()

Removes all authorization data, including roles, permissions, rules, and assignments.

public removeAll() : mixed

removeAllAssignments()

Removes all role assignments.

public removeAllAssignments() : mixed

removeAllPermissions()

Removes all permissions.

public removeAllPermissions() : mixed

All parent child relations will be adjusted accordingly.

removeAllRoles()

Removes all roles.

public removeAllRoles() : mixed

All parent child relations will be adjusted accordingly.

removeAllRules()

Removes all rules.

public removeAllRules() : mixed

All roles and permissions which have rules will be adjusted accordingly.

removeChild()

Removes a child from its parent.

public removeChild(Item $parent, Item $child) : bool

Note, the child item is not deleted. Only the parent-child relationship is removed.

Parameters
$parent : Item
$child : Item
Return values
bool —

whether the removal is successful

removeChildren()

Removed all children form their parent.

public removeChildren(Item $parent) : bool

Note, the children items are not deleted. Only the parent-child relationships are removed.

Parameters
$parent : Item
Return values
bool —

whether the removal is successful

revoke()

Revokes a role from a user.

public revoke(Role|Permission $role, string|int $userId) : bool
Parameters
$role : Role|Permission
$userId : string|int

the user ID (see [[\yii\web\User::id]])

Return values
bool —

whether the revoking is successful

revokeAll()

Revokes all roles from a user.

public revokeAll(mixed $userId) : bool
Parameters
$userId : mixed

the user ID (see [[\yii\web\User::id]])

Return values
bool —

whether the revoking is successful

update()

Updates the specified role, permission or rule in the system.

public update(string $name, Role|Permission|Rule $object) : bool
Parameters
$name : string

the old name of the role, permission or rule

$object : Role|Permission|Rule
Tags
throws
Exception

if data validation or saving fails (such as the name of the role or permission is not unique)

Return values
bool —

whether the update is successful


        
On this page

Search results