Skip to content

UserPermissions ​

Type
Class
Namespace
craft\services
Inherits
craft\services\UserPermissions » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

User Permissions service.

An instance of the service is available via Craft::$app->userPermissions.

View source

Public Properties ​

PropertyDescription
allPermissionsarray
assignablePermissionsarray
behaviorsyii\base\Behavior – List of behaviors attached to this component.

allPermissions ​

Type
array
Default value
null
Access
Read-only

View source

assignablePermissions ​

Type
array
Default value
null
Access
Read-only

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
doesGroupHavePermission()Returns whether a given user group has a given permission.
doesUserHavePermission()Returns whether a given user has a given permission.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllPermissions()Returns all of the known permissions, divided into groups.
getAssignablePermissions()Returns the permissions that the current user is allowed to assign to another user.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getGroupPermissionsByUserId()Returns all of the group permissions a given user has.
getPermissionsByGroupId()Returns all of a given user group's permissions.
getPermissionsByUserId()Returns all of a given user’s permissions.
handleChangedGroupPermissions()Handle any changed group permissions.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
saveGroupPermissions()Saves new permissions for a user group.
saveUserPermissions()Saves new permissions for a user.
trigger()Triggers an event.

doesGroupHavePermission() ​

Returns whether a given user group has a given permission.

View source

Arguments ​

Returns ​

boolean

doesUserHavePermission() ​

Returns whether a given user has a given permission.

View source

Arguments ​

Returns ​

boolean

getAllPermissions() ​

Returns all of the known permissions, divided into groups.

Each group will have two keys:

  • heading – The human-facing heading text for the group
  • permissions – An array of permissions for the group

Each item of the permissions array will have a key set to the permission name (e.g. accessSiteWhenSystemIsOff), and a value set to an array with the following keys:

  • label – The human-facing permission label
  • info (optional) – Informational text about the permission
  • warning (optional) – Warning text about the permission
  • nested (optional) – An array of nested permissions, which can only be assigned if the parent permission is assigned.

View source

Returns ​

array

getAssignablePermissions() ​

Returns the permissions that the current user is allowed to assign to another user.

See getAllPermissions() for an explanation of what will be returned.

View source

Arguments ​

  • $user (craft\elements\User, null) – The recipient of the permissions. If set, their current permissions will be included as well.

Returns ​

array

getGroupPermissionsByUserId() ​

Returns all of the group permissions a given user has.

View source

Arguments ​

Returns ​

string[]

getPermissionsByGroupId() ​

Returns all of a given user group's permissions.

View source

Arguments ​

Returns ​

string[]

getPermissionsByUserId() ​

Returns all of a given user’s permissions.

View source

Arguments ​

Returns ​

array

handleChangedGroupPermissions() ​

Handle any changed group permissions.

View source

Arguments ​

saveGroupPermissions() ​

Saves new permissions for a user group.

View source

Arguments ​

Returns ​

boolean

Throws ​

saveUserPermissions() ​

Saves new permissions for a user.

View source

Arguments ​

Returns ​

boolean

Throws ​

Events ​

EVENT_AFTER_SAVE_GROUP_PERMISSIONS ​

Type
craft\events\UserGroupPermissionsEvent
Since
4.3.0

The event triggered before saving group permissions.


EVENT_AFTER_SAVE_USER_PERMISSIONS ​

Type
craft\events\UserPermissionsEvent
Since
4.3.0

The event triggered before saving user permissions.


EVENT_REGISTER_PERMISSIONS ​

Type
craft\events\RegisterUserPermissionsEvent

The event that is triggered when registering user permissions.