Abstract Class yii\rbac\BaseManager

Inheritanceyii\rbac\BaseManager » yii\base\Component » yii\base\BaseObject
Implementsyii\base\Configurable, yii\rbac\ManagerInterface
Subclassesyii\mongodb\rbac\MongoDbManager, yii\rbac\DbManager, yii\rbac\PhpManager
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/rbac/BaseManager.php

BaseManager is a base class implementing yii\rbac\ManagerInterface for RBAC management.

For more details and usage information on DbManager, see the guide article on security authorization.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$behaviors yii\base\Behavior[] List of behaviors attached to this component. This property is read-only. yii\base\Component
$defaultRoleInstances yii\rbac\Role[] Default roles. The array is indexed by the role names. This property is read-only. yii\rbac\BaseManager
$permissions yii\rbac\Permission[] All permissions in the system. yii\rbac\BaseManager
$roles yii\rbac\Role[] All roles in the system. yii\rbac\BaseManager
$rules yii\rbac\Rule[] The rules indexed by the rule names yii\rbac\ManagerInterface

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$defaultRoles array A list of role names that are assigned to every user automatically without calling assign(). yii\rbac\BaseManager

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
add() Adds a role, permission or rule to the RBAC system. yii\rbac\BaseManager
addChild() Adds an item as a child of another item. yii\rbac\ManagerInterface
assign() Assigns a role to a user. yii\rbac\ManagerInterface
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canAddChild() Checks the possibility of adding a child to parent. yii\rbac\ManagerInterface
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
createPermission() Creates a new Permission object. yii\rbac\BaseManager
createRole() Creates a new Role object. yii\rbac\BaseManager
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getAssignment() Returns the assignment information regarding a role and a user. yii\rbac\ManagerInterface
getAssignments() Returns all role assignment information for the specified user. yii\rbac\ManagerInterface
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getChildRoles() Returns child roles of the role specified. Depth isn't limited. yii\rbac\ManagerInterface
getChildren() Returns the child permissions and/or roles. yii\rbac\ManagerInterface
getDefaultRoleInstances() Returns defaultRoles as array of Role objects. yii\rbac\BaseManager
getDefaultRoles() Get default roles yii\rbac\BaseManager
getPermission() Returns the named permission. yii\rbac\BaseManager
getPermissions() Returns all permissions in the system. yii\rbac\BaseManager
getPermissionsByRole() Returns all permissions that the specified role represents. yii\rbac\ManagerInterface
getPermissionsByUser() Returns all permissions that the user has. yii\rbac\ManagerInterface
getRole() Returns the named role. yii\rbac\BaseManager
getRoles() Returns all roles in the system. yii\rbac\BaseManager
getRolesByUser() Returns the roles that are assigned to the user via assign(). yii\rbac\ManagerInterface
getRule() Returns the rule of the specified name. yii\rbac\ManagerInterface
getRules() Returns all rules available in the system. yii\rbac\ManagerInterface
getUserIdsByRole() Returns all user IDs assigned to the role specified. yii\rbac\ManagerInterface
hasChild() Returns a value indicating whether the child already exists for the parent. yii\rbac\ManagerInterface
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
remove() Removes a role, permission or rule from the RBAC system. yii\rbac\BaseManager
removeAll() Removes all authorization data, including roles, permissions, rules, and assignments. yii\rbac\ManagerInterface
removeAllAssignments() Removes all role assignments. yii\rbac\ManagerInterface
removeAllPermissions() Removes all permissions. yii\rbac\ManagerInterface
removeAllRoles() Removes all roles. yii\rbac\ManagerInterface
removeAllRules() Removes all rules. yii\rbac\ManagerInterface
removeChild() Removes a child from its parent. yii\rbac\ManagerInterface
removeChildren() Removed all children form their parent. yii\rbac\ManagerInterface
revoke() Revokes a role from a user. yii\rbac\ManagerInterface
revokeAll() Revokes all roles from a user. yii\rbac\ManagerInterface
setDefaultRoles() Set default roles yii\rbac\BaseManager
trigger() Triggers an event. yii\base\Component
update() Updates the specified role, permission or rule in the system. yii\rbac\BaseManager

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
addItem() Adds an auth item to the RBAC system. yii\rbac\BaseManager
addRule() Adds a rule to the RBAC system. yii\rbac\BaseManager
executeRule() Executes the rule associated with the specified auth item. yii\rbac\BaseManager
getItem() Returns the named auth item. yii\rbac\BaseManager
getItems() Returns the items of the specified type. yii\rbac\BaseManager
hasNoAssignments() Checks whether array of $assignments is empty and $defaultRoles property is empty as well. yii\rbac\BaseManager
removeItem() Removes an auth item from the RBAC system. yii\rbac\BaseManager
removeRule() Removes a rule from the RBAC system. yii\rbac\BaseManager
updateItem() Updates an auth item in the RBAC system. yii\rbac\BaseManager
updateRule() Updates a rule to the RBAC system. yii\rbac\BaseManager

Property Details

$defaultRoleInstances public property

Default roles. The array is indexed by the role names. This property is read-only.

$defaultRoles protected property

A list of role names that are assigned to every user automatically without calling assign(). Note that these roles are applied to users, regardless of their state of authentication.

protected array $defaultRoles = []
$permissions public read-only property

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

$roles public read-only property

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

public yii\rbac\Role[] getRoles ( )

Method Details

add() public method

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

public boolean add ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

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

throws Exception

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

addItem() protected abstract method

Adds an auth item to the RBAC system.

protected abstract boolean addItem ( $item )
$item yii\rbac\Item

The item to add

return boolean

Whether the auth item is successfully added to the system

throws Exception

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

addRule() protected abstract method

Adds a rule to the RBAC system.

protected abstract boolean addRule ( $rule )
$rule yii\rbac\Rule

The rule to add

return boolean

Whether the rule is successfully added to the system

throws Exception

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

createPermission() public method

Creates a new Permission object.

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.

public yii\rbac\Permission createPermission ( $name )
$name string

The permission name

return yii\rbac\Permission

The new Permission object

createRole() public method

Creates a new Role object.

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.

public yii\rbac\Role createRole ( $name )
$name string

The role name

return yii\rbac\Role

The new Role object

executeRule() protected method

Executes the rule associated with the specified auth item.

If the item does not specify a rule, this method will return true. Otherwise, it will return the value of yii\rbac\Rule::execute().

protected boolean executeRule ( $user, $item, $params )
$user string|integer

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

$item yii\rbac\Item

The auth item that needs to execute its rule

$params array

Parameters passed to yii\rbac\CheckAccessInterface::checkAccess() and will be passed to the rule

return boolean

The return value of yii\rbac\Rule::execute(). If the auth item does not specify a rule, true will be returned.

throws yii\base\InvalidConfigException

if the auth item has an invalid rule.

getDefaultRoleInstances() public method (available since version 2.0.12)

Returns defaultRoles as array of Role objects.

public yii\rbac\Role[] getDefaultRoleInstances ( )
return yii\rbac\Role[]

Default roles. The array is indexed by the role names

getDefaultRoles() public method (available since version 2.0.14)

Get default roles

public string[] getDefaultRoles ( )
return string[]

Default roles

getItem() protected abstract method

Returns the named auth item.

protected abstract yii\rbac\Item|null getItem ( $name )
$name string

The auth item name.

return yii\rbac\Item|null

The auth item corresponding to the specified name. Null is returned if no such item.

getItems() protected abstract method

Returns the items of the specified type.

protected abstract yii\rbac\Item[] getItems ( $type )
$type integer

The auth item type (either yii\rbac\Item::TYPE_ROLE or yii\rbac\Item::TYPE_PERMISSION

return yii\rbac\Item[]

The auth items of the specified type.

getPermission() public method

Returns the named permission.

public null|yii\rbac\Permission getPermission ( $name )
$name string

The permission name.

return null|yii\rbac\Permission

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

getPermissions() public method

Returns all permissions in the system.

public yii\rbac\Permission[] getPermissions ( )
return yii\rbac\Permission[]

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

getRole() public method

Returns the named role.

public null|yii\rbac\Role getRole ( $name )
$name string

The role name.

return null|yii\rbac\Role

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

getRoles() public method

Returns all roles in the system.

public yii\rbac\Role[] getRoles ( )
return yii\rbac\Role[]

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

hasNoAssignments() protected method (available since version 2.0.11)

Checks whether array of $assignments is empty and $defaultRoles property is empty as well.

protected boolean hasNoAssignments ( array $assignments )
$assignments yii\rbac\Assignment[]

Array of user's assignments

return boolean

Whether array of $assignments is empty and $defaultRoles property is empty as well

remove() public method

Removes a role, permission or rule from the RBAC system.

public boolean remove ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

Whether the role, permission or rule is successfully removed

removeItem() protected abstract method

Removes an auth item from the RBAC system.

protected abstract boolean removeItem ( $item )
$item yii\rbac\Item

The item to remove

return boolean

Whether the role or permission is successfully removed

throws Exception

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

removeRule() protected abstract method

Removes a rule from the RBAC system.

protected abstract boolean removeRule ( $rule )
$rule yii\rbac\Rule

The rule to remove

return boolean

Whether the rule is successfully removed

throws Exception

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

setDefaultRoles() public method (available since version 2.0.14)

Set default roles

public void setDefaultRoles ( $roles )
$roles string[]|Closure

Either array of roles or a callable returning it

throws yii\base\InvalidArgumentException

when $roles is neither array nor Closure

throws yii\base\InvalidValueException

when Closure return is not an array

update() public method

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

public boolean update ( $name, $object )
$name string

The old name of the role, permission or rule

$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

Whether the update is successful

throws Exception

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

updateItem() protected abstract method

Updates an auth item in the RBAC system.

protected abstract boolean updateItem ( $name, $item )
$name string

The name of the item being updated

$item yii\rbac\Item

The updated item

return boolean

Whether the auth item is successfully updated

throws Exception

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

updateRule() protected abstract method

Updates a rule to the RBAC system.

protected abstract boolean updateRule ( $name, $rule )
$name string

The name of the rule being updated

$rule yii\rbac\Rule

The updated rule

return boolean

Whether the rule is successfully updated

throws Exception

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