Абстрактный класс yii\rbac\BaseManager
| Наследование | yii\rbac\BaseManager » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\rbac\ManagerInterface |
| Подклассы | yii\mongodb\rbac\MongoDbManager, yii\rbac\DbManager, yii\rbac\PhpManager |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/rbac/BaseManager.php |
BaseManager — базовый класс, реализующий интерфейс yii\rbac\ManagerInterface для управления RBAC.
Для получения более подробной информации и инструкции по использованию DbManager см. статью руководства по авторизации.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $defaultRoleInstances | yii\rbac\Role[] | Умолчательные роли. | yii\rbac\BaseManager |
| $defaultRoles | array | Список имён ролей, которые автоматически назначаются каждому пользователю без вызова assign(). | yii\rbac\BaseManager |
| $permissions | yii\rbac\Permission[] | Все разрешения в системе. | yii\rbac\BaseManager |
| $roles | yii\rbac\Role[] | Все роли в системе. | yii\rbac\BaseManager |
| $rules | yii\rbac\Rule[] | Правила, индексированные по именам правил | yii\rbac\ManagerInterface |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| add() | Добавляет роль, разрешение или правило в систему RBAC. | yii\rbac\BaseManager |
| addChild() | Добавляет элемент как потомка другого элемента. | yii\rbac\ManagerInterface |
| assign() | Назначает роль пользователю. | yii\rbac\ManagerInterface |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен выполнять этот компонент. | yii\base\Component |
| canAddChild() | Проверяет возможность добавления потомка к родителю | yii\rbac\ManagerInterface |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| createPermission() | Создаёт новый объект Permission. | yii\rbac\BaseManager |
| createRole() | Создаёт новый объект Role. | yii\rbac\BaseManager |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getAssignment() | Возвращает информацию об назначении роли пользователю. | yii\rbac\ManagerInterface |
| getAssignments() | Возвращает всю информацию о назначении ролей для указанного пользователя. | yii\rbac\ManagerInterface |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| getChildRoles() | Возвращает дочерние роли указанной роли. Глубина не ограничена. | yii\rbac\ManagerInterface |
| getChildren() | Возвращает дочерние разрешения и/или роли. | yii\rbac\ManagerInterface |
| getDefaultRoleInstances() | Возвращает defaultRoles в виде массива объектов Role. | yii\rbac\BaseManager |
| getPermission() | Возвращает разрешение с указанным именем. | yii\rbac\BaseManager |
| getPermissions() | Возвращает все разрешения в системе. | yii\rbac\BaseManager |
| getPermissionsByRole() | Возвращает все разрешения, которые представляет указанная роль. | yii\rbac\ManagerInterface |
| getPermissionsByUser() | Возвращает все разрешения, которые имеет пользователь. | yii\rbac\ManagerInterface |
| getRole() | Возвращает роль с указанным именем. | yii\rbac\BaseManager |
| getRoles() | Возвращает все роли в системе. | yii\rbac\BaseManager |
| getRolesByUser() | Возвращает роли, назначенные пользователю с помощью assign(). | yii\rbac\ManagerInterface |
| getRule() | Возвращает правило с указанным именем. | yii\rbac\ManagerInterface |
| getRules() | Возвращает все доступные правила в системе. | yii\rbac\ManagerInterface |
| getUserIdsByRole() | Возвращает все идентификаторы пользователей, назначенных указанной роли. | yii\rbac\ManagerInterface |
| hasChild() | Возвращает значение, указывающее, существует ли потомок для родителя. | yii\rbac\ManagerInterface |
| hasEventHandlers() | Возвращает значение, указывающее, прикреплен ли какой-либо обработчик к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| remove() | Удаляет роль, разрешение или правило из системы RBAC. | yii\rbac\BaseManager |
| removeAll() | Удаляет все данные авторизации, включая роли, разрешения, правила и назначения. | yii\rbac\ManagerInterface |
| removeAllAssignments() | Удаляет все назначения ролей. | yii\rbac\ManagerInterface |
| removeAllPermissions() | Удаляет все разрешения. | yii\rbac\ManagerInterface |
| removeAllRoles() | Удаляет все роли. | yii\rbac\ManagerInterface |
| removeAllRules() | Удаляет все правила. | yii\rbac\ManagerInterface |
| removeChild() | Удаляет дочерний элемент из родительского. | yii\rbac\ManagerInterface |
| removeChildren() | Удаляет всех потомков из родительского элемента. | yii\rbac\ManagerInterface |
| revoke() | Отменяет роль для пользователя. | yii\rbac\ManagerInterface |
| revokeAll() | Отменяет все роли для пользователя. | yii\rbac\ManagerInterface |
| trigger() | Вызывает событие. | yii\base\Component |
| update() | Обновляет указанную роль, разрешение или правило в системе. | yii\rbac\BaseManager |
Защищённые методы
| Метод | Описание | Определено |
|---|---|---|
| addItem() | Добавляет элемент авторизации в систему RBAC. | yii\rbac\BaseManager |
| addRule() | Добавляет правило в систему RBAC. | yii\rbac\BaseManager |
| executeRule() | Выполняет правило, связанное с указанным элементом авторизации. | yii\rbac\BaseManager |
| getItem() | Возвращает элемент авторизации по имени. | yii\rbac\BaseManager |
| getItems() | Возвращает элементы указанного типа. | yii\rbac\BaseManager |
| hasNoAssignments() | Проверяет, пуст ли массив $assignments и пуст ли также свойство $defaultRoles. | yii\rbac\BaseManager |
| removeItem() | Удаляет элемент авторизации из системы RBAC. | yii\rbac\BaseManager |
| removeRule() | Удаляет правило из системы RBAC. | yii\rbac\BaseManager |
| updateItem() | Обновляет элемент авторизации в системе RBAC. | yii\rbac\BaseManager |
| updateRule() | Обновляет правило в системе RBAC. | yii\rbac\BaseManager |
Подробное описание свойств
$defaultRoleInstances общедоступное только для чтения свойство
Значения по умолчанию для ролей. Массив индексируется по именам ролей.
public yii\rbac\Role[] getDefaultRoleInstances ( )
$defaultRoles общедоступное свойство
Список имён ролей, которые автоматически назначаются каждому пользователю без вызова assign().
public array $defaultRoles = []
$permissions общедоступное только для чтения свойство
Все разрешения в системе. Массив индексируется по именам разрешений.
public yii\rbac\Permission[] getPermissions ( )
$roles общедоступное только для чтения свойство
Все роли в системе. Массив индексируется по именам ролей.
public yii\rbac\Role[] getRoles ( )
Подробное описание методов
add() public method
Добавляет роль, разрешение или правило в систему RBAC.
| public boolean add ( $object ) | ||
|---|---|---|
| $object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
| return | boolean |
Указывает, была ли успешно добавлена роль, разрешение или правило в систему |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя роли или разрешения не уникально) |
addItem() protected abstract method
Добавляет элемент авторизации в систему RBAC.
| protected abstract boolean addItem ( $item ) | ||
|---|---|---|
| $item | yii\rbac\Item |
Элемент для добавления |
| return | boolean |
Указывает, был ли успешно добавлен элемент авторизации в систему |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя роли или разрешения не уникально) |
addRule() protected abstract method
Добавляет правило в систему RBAC.
| protected abstract boolean addRule ( $rule ) | ||
|---|---|---|
| $rule | yii\rbac\Rule |
Правило для добавления |
| return | boolean |
Указывает, было ли успешно добавлено правило в систему |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя правила не уникально) |
createPermission() public method
Создаёт новый объект Permission.
Обратите внимание, что вновь созданное разрешение ещё не добавлено в систему RBAC. Вам нужно заполнить необходимые данные и вызвать add(), чтобы добавить его в систему.
| public yii\rbac\Permission createPermission ( $name ) | ||
|---|---|---|
| $name | string |
Имя разрешения |
| return | yii\rbac\Permission |
Новый объект Permission |
createRole() public method
Создаёт новый объект Role.
Обратите внимание, что вновь созданная роль ещё не добавлена в систему RBAC. Вам нужно заполнить необходимые данные и вызвать add(), чтобы добавить её в систему.
| public yii\rbac\Role createRole ( $name ) | ||
|---|---|---|
| $name | string |
Имя роли |
| return | yii\rbac\Role |
Новый объект Role |
executeRule() protected method
Выполняет правило, связанное с указанным элементом авторизации.
Если элемент не указывает правило, этот метод вернёт true. В противном случае, он вернёт значение yii\rbac\Rule::execute().
| protected boolean executeRule ( $user, $item, $params ) | ||
|---|---|---|
| $user | string|integer |
ID пользователя. Должно быть целое число или строка, представляющая уникальный идентификатор пользователя. См. yii\web\User::$id. |
| $item | yii\rbac\Item |
Элемент авторизации, для которого нужно выполнить правило |
| $params | array |
Параметры, передаваемые в yii\rbac\CheckAccessInterface::checkAccess() и будут переданы в правило |
| return | boolean |
Возвращаемое значение yii\rbac\Rule::execute(). Если элемент авторизации не указывает правило, будет возвращено true. |
| throws | yii\base\InvalidConfigException |
если у элемента авторизации неверное правило. |
getDefaultRoleInstances() public method (доступно с версии 2.0.12)
Возвращает defaultRoles как массив объектов Role
| public yii\rbac\Role[] getDefaultRoleInstances ( ) | ||
|---|---|---|
| return | yii\rbac\Role[] |
Умолчательные роли. Массив индексируется по именам ролей |
getItem() protected abstract method
Возвращает элемент авторизации по имени.
| protected abstract yii\rbac\Item getItem ( $name ) | ||
|---|---|---|
| $name | string |
Имя элемента авторизации. |
| return | yii\rbac\Item |
Элемент авторизации, соответствующий заданному имени. Если такого элемента нет, возвращается null. |
getItems() protected abstract method
Возвращает элементы заданного типа.
| protected abstract yii\rbac\Item[] getItems ( $type ) | ||
|---|---|---|
| $type | integer |
Тип элемента авторизации (либо yii\rbac\Item::TYPE_ROLE, либо yii\rbac\Item::TYPE_PERMISSION |
| return | yii\rbac\Item[] |
Элементы авторизации заданного типа. |
getPermission() public method
Возвращает разрешение по имени.
| public null|yii\rbac\Permission getPermission ( $name ) | ||
|---|---|---|
| $name | string |
Имя разрешения. |
| return | null|yii\rbac\Permission |
Разрешение, соответствующее заданному имени. Если такого разрешения нет, возвращается null. |
getPermissions() public method
Возвращает все разрешения в системе.
| public yii\rbac\Permission[] getPermissions ( ) | ||
|---|---|---|
| return | yii\rbac\Permission[] |
Все разрешения в системе. Массив индексируется по именам разрешений. |
getRole() public method
Возвращает роль по имени.
| public null|yii\rbac\Role getRole ( $name ) | ||
|---|---|---|
| $name | string |
Имя роли. |
| return | null|yii\rbac\Role |
Роль, соответствующая заданному имени. Если такой роли нет, возвращается null. |
getRoles() public method
Возвращает все роли в системе.
| public yii\rbac\Role[] getRoles ( ) | ||
|---|---|---|
| return | yii\rbac\Role[] |
Все роли в системе. Массив индексируется по именам ролей. |
hasNoAssignments() protected method (доступно с версии 2.0.11)
Проверяет, является ли массив $assignments пустым, и пуст ли также свойство $defaultRoles
| protected boolean hasNoAssignments ( array $assignments ) | ||
|---|---|---|
| $assignments | yii\rbac\Assignment[] |
Массив назначений пользователя |
| return | boolean |
Является ли массив $assignments пустым, а также свойство $defaultRoles пустым |
remove() public method
Удаляет роль, разрешение или правило из системы RBAC.
| public boolean remove ( $object ) | ||
|---|---|---|
| $object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
| return | boolean |
Удалена ли роль, разрешение или правило успешно |
removeItem() protected abstract method
Удаляет элемент авторизации из системы RBAC.
| protected abstract boolean removeItem ( $item ) | ||
|---|---|---|
| $item | yii\rbac\Item |
Элемент для удаления |
| return | boolean |
Удалена ли роль или разрешение успешно |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя роли или разрешения не уникально) |
removeRule() protected abstract method
Удаляет правило из системы RBAC.
| protected abstract boolean removeRule ( $rule ) | ||
|---|---|---|
| $rule | yii\rbac\Rule |
Правило для удаления |
| return | boolean |
Удалено ли правило успешно |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя правила не уникально) |
update() public method
Обновляет указанную роль, разрешение или правило в системе.
| public boolean update ( $name, $object ) | ||
|---|---|---|
| $name | string |
Старое имя роли, разрешения или правила |
| $object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
| return | boolean |
Успешно ли выполнено обновление |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя роли или разрешения не уникально) |
updateItem() protected abstract method
Обновляет элемент авторизации в системе RBAC.
| protected abstract boolean updateItem ( $name, $item ) | ||
|---|---|---|
| $name | string |
Имя обновляемого элемента |
| $item | yii\rbac\Item |
Обновленный элемент |
| return | boolean |
Успешно ли обновлен элемент авторизации |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя роли или разрешения не уникально) |
updateRule() protected abstract method
Обновляет правило в системе RBAC.
| protected abstract boolean updateRule ( $name, $rule ) | ||
|---|---|---|
| $name | string |
Имя обновляемого правила |
| $rule | yii\rbac\Rule |
Обновленное правило |
| return | boolean |
Успешно ли обновлено правило |
| throws | Exception |
если проверка данных или сохранение завершились неудачно (например, имя правила не уникально) |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-rbac-basemanager.html