This service provides methods for managing Roles and Policies.
Methods
Adds a new policy to the RoleDraft.
Parameters
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to add a policy
-
Throws
-
InvalidArgumentException
if limitation of the same type is repeated in policy create
struct or if limitation is not allowed on module/function
-
Throws
-
LimitationValidationException
if a limitation in the $policyCreateStruct is not valid
Assigns a role to the given user.
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
$user
|
User
|
-
|
-
|
$roleLimitation
|
RoleLimitation|null
|
null
|
an optional role limitation (which is either a subtree limitation or section limitation)
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to assign a role
-
Throws
-
LimitationValidationException
if $roleLimitation is not valid
-
Throws
-
InvalidArgumentException
If assignment already exists
Assigns a role to the given user group.
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
$userGroup
|
UserGroup
|
-
|
-
|
$roleLimitation
|
RoleLimitation|null
|
null
|
an optional role limitation (which is either a subtree limitation or section limitation)
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to assign a role
-
Throws
-
LimitationValidationException
if $roleLimitation is not valid
-
Throws
-
InvalidArgumentException
If assignment already exists
Copies an existing Role.
Parameters
Return values
Role
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to copy a role
-
Throws
-
InvalidArgumentException
if the name of the role already exists or if limitation of the same type
is repeated in the policy create struct or if limitation is not allowed on module/function
-
Throws
-
LimitationValidationException
if a policy limitation in the $roleCopyStruct is not valid
-
Throws
-
BadStateException
if CopyRoleEvent does not posses valid Role object
-
Throws
-
NotFoundException
if newly cloned Role does not exist
Returns the number of users and user groups assigned to this role.
|
public countRoleAssignments(Role $role) : int
|
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
Return values
int
Tags
-
Throws
-
BadStateException
-
Throws
-
InvalidArgumentException
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read a role
Creates a new RoleDraft.
Parameters
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to create a role
-
Throws
-
InvalidArgumentException
if the name of the role already exists or if limitation of the same type
is repeated in the policy create struct or if limitation is not allowed on module/function
-
Throws
-
LimitationValidationException
if a policy limitation in the $roleCreateStruct is not valid
Creates a new RoleDraft for existing Role.
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to create a role
-
Throws
-
InvalidArgumentException
if the Role already has a Role Draft that will need to be removed first
-
Throws
-
LimitationValidationException
if a policy limitation in the $roleCreateStruct is not valid
Deletes the given role.
|
public deleteRole(Role $role) : void
|
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to delete this role
Deletes the given RoleDraft.
|
public deleteRoleDraft(RoleDraft $roleDraft) : void
|
Parameters
Name |
Type |
Default value |
Description |
$roleDraft
|
RoleDraft
|
-
|
-
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to delete this RoleDraft
Returns the LimitationType registered with the given identifier.
|
public getLimitationType(string $identifier) : Type
|
Parameters
Name |
Type |
Default value |
Description |
$identifier
|
string
|
-
|
-
|
Return values
Type
Tags
-
Throws
-
RuntimeException
Returns the LimitationType's assigned to a given module/function.
|
public getLimitationTypesByModuleFunction(string $module, string $function) : array<string|int, Type>
|
Typically used for:
- Internal validation limitation value use on Policies
- Role admin gui for editing policy limitations incl list limitation options via valueSchema()
Parameters
Name |
Type |
Default value |
Description |
$module
|
string
|
-
|
Legacy name of "controller", it's a unique identifier like "content"
|
$function
|
string
|
-
|
Legacy name of a controller "action", it's a unique within the controller like "read"
|
Return values
array<string|int, Type>
Tags
-
Throws
-
BadStateException
If module/function to limitation type mapping
refers to a non existing identifier.
Returns the assigned user and user groups to this role.
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
Return values
array<string|int, RoleAssignment>
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read a role
Returns UserRoleAssignments assigned to the given User, excluding the ones the current user is not allowed to read.
If second parameter $inherited is true then UserGroupRoleAssignment is also returned for UserGroups User is
placed in as well as those inherited from parent UserGroups.
Parameters
Name |
Type |
Default value |
Description |
$user
|
User
|
-
|
-
|
$inherited
|
bool
|
false
|
Also return all inherited Roles from UserGroups User belongs to, and it's parents.
|
Return values
array<string|int, UserRoleAssignment>|array<string|int, UserGroupRoleAssignment>
Tags
-
Throws
-
InvalidArgumentException
Returns the UserGroupRoleAssignments assigned to the given UserGroup, excluding the ones the current user is not allowed to read.
Parameters
Name |
Type |
Default value |
Description |
$userGroup
|
UserGroup
|
-
|
-
|
Return values
array<string|int, UserGroupRoleAssignment>
Loads a role for the given id.
|
public loadRole(int $id) : Role
|
Parameters
Name |
Type |
Default value |
Description |
$id
|
int
|
-
|
-
|
Return values
Role
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read this role
-
Throws
-
NotFoundException
if a role with the given name was not found
Loads a role assignment for the given id.
Parameters
Name |
Type |
Default value |
Description |
$roleAssignmentId
|
int
|
-
|
-
|
Return values
RoleAssignment
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read this role
-
Throws
-
NotFoundException
If the role assignment was not found
Returns the assigned users and user groups to this role with $offset and $limit arguments.
|
public loadRoleAssignments(Role $role[, int $offset = 0 ][, int|null $limit = null ]) : array<string|int, RoleAssignment>
|
Parameters
Name |
Type |
Default value |
Description |
$role
|
Role
|
-
|
-
|
$offset
|
int
|
0
|
-
|
$limit
|
int|null
|
null
|
-
|
Return values
array<string|int, RoleAssignment>
Tags
-
Throws
-
BadStateException
-
Throws
-
InvalidArgumentException
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read a role
Loads a role for the given identifier.
|
public loadRoleByIdentifier(string $identifier) : Role
|
Parameters
Name |
Type |
Default value |
Description |
$identifier
|
string
|
-
|
-
|
Return values
Role
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read this role
-
Throws
-
NotFoundException
if a role with the given name was not found
Loads a RoleDraft for the given id.
Parameters
Name |
Type |
Default value |
Description |
$id
|
int
|
-
|
-
|
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read this role
-
Throws
-
NotFoundException
if a RoleDraft with the given id was not found
Loads a RoleDraft by the ID of the role it was created from.
|
public loadRoleDraftByRoleId(int $roleId) : RoleDraft
|
Parameters
Name |
Type |
Default value |
Description |
$roleId
|
int
|
-
|
ID of the role the draft was created from.
|
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to read this role
-
Throws
-
NotFoundException
if a RoleDraft with the given id was not found
Loads all roles, excluding the ones the current user is not allowed to read.
|
public loadRoles() : array<string|int, Role>
|
Return values
array<string|int, Role>
Instantiates a policy create class.
Parameters
Name |
Type |
Default value |
Description |
$module
|
string
|
-
|
-
|
$function
|
string
|
-
|
-
|
Return values
PolicyCreateStruct
Instantiates a policy update class.
Return values
PolicyUpdateStruct
Instantiates a role copy struct.
Parameters
Name |
Type |
Default value |
Description |
$name
|
string
|
-
|
-
|
Return values
RoleCopyStruct
Instantiates a role create class.
Parameters
Name |
Type |
Default value |
Description |
$name
|
string
|
-
|
-
|
Return values
RoleCreateStruct
Instantiates a policy update class.
Return values
RoleUpdateStruct
Publishes the given RoleDraft.
|
public publishRoleDraft(RoleDraft $roleDraft) : void
|
Parameters
Name |
Type |
Default value |
Description |
$roleDraft
|
RoleDraft
|
-
|
-
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to publish this RoleDraft
Removes a policy from a RoleDraft.
Parameters
Name |
Type |
Default value |
Description |
$roleDraft
|
RoleDraft
|
-
|
-
|
$policyDraft
|
PolicyDraft
|
-
|
the policy to remove from the RoleDraft
|
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to remove a policy
-
Throws
-
InvalidArgumentException
if policy does not belong to the given RoleDraft
Removes the given role assignment.
i.e. unassigns a user or a user group from a role with the given limitations
Parameters
Name |
Type |
Default value |
Description |
$roleAssignment
|
RoleAssignment
|
-
|
-
|
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to remove a role assignment
Updates the limitations of a policy. The module and function cannot be changed and
the limitations are replaced by the ones in $roleUpdateStruct.
Parameters
Return values
PolicyDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to update a policy
-
Throws
-
InvalidArgumentException
if limitation of the same type is repeated in policy update
struct or if limitation is not allowed on module/function
-
Throws
-
LimitationValidationException
if a limitation in the $policyUpdateStruct is not valid
Updates the properties of a RoleDraft.
Parameters
Return values
RoleDraft
Tags
-
Throws
-
UnauthorizedException
if the authenticated user is not allowed to update a role
-
Throws
-
InvalidArgumentException
if the identifier of the RoleDraft already exists