IAuthManager
| Пакет | system.base |
|---|---|
| Наследование | интерфейс IAuthManager |
| Подклассы | CAuthManager, CDbAuthManager, CPhpAuthManager |
| С | 1.0 |
| Исходный код | framework/base/interfaces.php |
Менеджер авторизации отвечает за предоставление службы контроля доступа на основе ролей (RBAC).
Публичные методы
| Метод | Описание | Определено |
|---|---|---|
| addItemChild() | Добавляет элемент в качестве дочернего к другому элементу. | IAuthManager |
| assign() | Назначает элемент авторизации пользователю. | IAuthManager |
| checkAccess() | Проверяет доступ для указанного пользователя. | IAuthManager |
| clearAll() | Удаляет все данные авторизации. | IAuthManager |
| clearAuthAssignments() | Удаляет все назначения авторизации. | IAuthManager |
| createAuthItem() | Создает элемент авторизации. | IAuthManager |
| executeBizRule() | Выполняет бизнес-правило. | IAuthManager |
| getAuthAssignment() | Возвращает информацию о назначении элемента. | IAuthManager |
| getAuthAssignments() | Возвращает назначения элементов для указанного пользователя. | IAuthManager |
| getAuthItem() | Возвращает элемент авторизации с указанным именем. | IAuthManager |
| getAuthItems() | Возвращает элементы авторизации определенного типа и пользователя. | IAuthManager |
| getItemChildren() | Возвращает дочерние элементы указанного элемента. | IAuthManager |
| hasItemChild() | Возвращает значение, указывающее, существует ли дочерний элемент внутри родительского. | IAuthManager |
| isAssigned() | Возвращает значение, указывающее, был ли элемент назначен пользователю. | IAuthManager |
| removeAuthItem() | Удаляет указанный элемент авторизации. | IAuthManager |
| removeItemChild() | Удаляет дочерний элемент из родительского. | IAuthManager |
| revoke() | Отменяет назначение элемента авторизации для пользователя. | IAuthManager |
| save() | Сохраняет данные авторизации в постоянном хранилище. | IAuthManager |
| saveAuthAssignment() | Сохраняет изменения в назначении авторизации. | IAuthManager |
| saveAuthItem() | Сохраняет элемент авторизации в постоянное хранилище. | IAuthManager |
Подробное описание методов
addItemChild() метод
abstract public void addItemChild(string $itemName, string $childName) | ||
| $itemName | string | имя родительского элемента |
| $childName | string | имя дочернего элемента |
public function addItemChild($itemName,$childName);
Добавляет элемент в качестве дочернего к другому элементу.
assign() метод
abstract public CAuthAssignment assign(string $itemName, mixed $userId, string $bizRule=NULL, mixed $data=NULL) | ||
| $itemName | string | имя элемента |
| $userId | mixed | ИД пользователя (см. IWebUser::getId) |
| $bizRule | string | бизнес-правило, которое будет выполнено при вызове checkAccess для данного элемента авторизации. |
| $data | mixed | дополнительные данные, связанные с этим назначением |
| {return} | CAuthAssignment | информация о назначении авторизации. |
public function assign($itemName,$userId,$bizRule=null,$data=null);
Назначает элемент авторизации пользователю.
checkAccess() метод
abstract public boolean checkAccess(string $itemName, mixed $userId, array $params=array ( )) | ||
| $itemName | string | имя операции, для которой проверяется доступ |
| $userId | mixed | ИД пользователя. Должно быть целым числом или строкой, представляющей уникальный идентификатор пользователя. См. IWebUser::getId. |
| $params | array | пары имя-значение, которые будут переданы бизнес-правилам, связанным с задачами и ролями, назначенными пользователю. |
| {return} | boolean | можно ли пользователю выполнить операции. |
public function checkAccess($itemName,$userId,$params=array());
Проверяет доступ для указанного пользователя.
clearAll() метод
abstract public void clearAll() |
Удаляет все данные авторизации.
clearAuthAssignments() метод
abstract public void clearAuthAssignments() |
Удаляет все назначения авторизации.
createAuthItem() метод
abstract public CAuthItem createAuthItem(string $name, integer $type, string $description='', string $bizRule=NULL, mixed $data=NULL) | ||
| $name | string | имя элемента. Должно быть уникальным идентификатором. |
| $type | integer | тип элемента (0: операция, 1: задача, 2: роль). |
| $description | string | описание элемента |
| $bizRule | string | бизнес-правило, связанное с элементом. Это фрагмент кода PHP, который будет выполнен при вызове checkAccess для элемента. |
| $data | mixed | дополнительные данные, связанные с элементом. |
| {return} | CAuthItem | элемент авторизации |
public function createAuthItem($name,$type,$description='',$bizRule=null,$data=null);
Создает элемент авторизации. Элемент авторизации представляет разрешение на действие (например, создание поста). Он имеет три типа: операция, задача и роль. Элементы авторизации образуют иерархию. Элементы более высокого уровня наследуют разрешения, представленные элементами более низкого уровня.
executeBizRule() метод
abstract public boolean executeBizRule(string $bizRule, array $params, mixed $data) | ||
| $bizRule | string | правило бизнеса, которое будет выполнено. |
| $params | array | дополнительные параметры, которые будут переданы правилу бизнеса при его выполнении. |
| $data | mixed | дополнительные данные, связанные с соответствующим элементом авторизации или назначением. |
| {return} | boolean | возвращает значение true, если выполнение возвращает значение true. Если правило бизнеса пустое, то также возвращается true. |
public function executeBizRule($bizRule,$params,$data);
Выполняет правило бизнеса. Правило бизнеса — это фрагмент PHP-кода, который будет выполнен при вызове checkAccess.
getAuthAssignment() метод
abstract public CAuthAssignment getAuthAssignment(string $itemName, mixed $userId) | ||
| $itemName | string | имя элемента |
| $userId | mixed | идентификатор пользователя (см. IWebUser::getId) |
| {return} | CAuthAssignment | информация о назначении элемента. Возвращает null, если элемент не назначен пользователю. |
public function getAuthAssignment($itemName,$userId);
Возвращает информацию о назначении элемента.
getAuthAssignments() метод
abstract public array getAuthAssignments(mixed $userId) | ||
| $userId | mixed | идентификатор пользователя (см. IWebUser::getId) |
| {return} | array | информация о назначении элементов для пользователя. Возвращает пустой массив, если элементы не назначены пользователю. |
Возвращает назначения элементов для указанного пользователя.
getAuthItem() метод
abstract public CAuthItem getAuthItem(string $name) | ||
| $name | string | имя элемента |
| {return} | CAuthItem | элемент авторизации. Null, если элемент не найден. |
Возвращает элемент авторизации с указанным именем.
getAuthItems() метод
abstract public array getAuthItems(integer $type=NULL, mixed $userId=NULL) | ||
| $type | integer | тип элемента (0: операция, 1: задача, 2: роль). По умолчанию null, что означает возврат всех элементов независимо от типа. |
| $userId | mixed | идентификатор пользователя. По умолчанию null, что означает возврат всех элементов, даже если они не назначены пользователю. |
| {return} | array | элементы авторизации указанного типа. |
public function getAuthItems($type=null,$userId=null);
Возвращает элементы авторизации указанного типа и пользователя.
getItemChildren() метод
abstract public array getItemChildren(mixed $itemName) | ||
| $itemName | mixed | имя родительского элемента. Может быть строкой или массивом. Массив представляет список имён элементов. |
| {return} | array | все дочерние элементы родителя |
Возвращает дочерние элементы указанного элемента.
hasItemChild() метод
abstract public boolean hasItemChild(string $itemName, string $childName) | ||
| $itemName | string | имя родительского элемента |
| $childName | string | имя дочернего элемента |
| {return} | boolean | существует ли дочерний элемент |
public function hasItemChild($itemName,$childName);
Возвращает значение, указывающее, существует ли дочерний элемент внутри родителя.
isAssigned() метод
abstract public boolean isAssigned(string $itemName, mixed $userId) | ||
| $itemName | string | имя элемента |
| $userId | mixed | идентификатор пользователя (см. IWebUser::getId) |
| {return} | boolean | назначался ли элемент пользователю. |
public function isAssigned($itemName,$userId);
Возвращает значение, указывающее, назначен ли элемент пользователю.
removeAuthItem() метод
abstract public boolean removeAuthItem(string $name) | ||
| $name | string | имя удаляемого элемента |
| {return} | boolean | существует ли элемент в хранилище и был ли он удален |
Удаляет указанный элемент авторизации.
removeItemChild() метод
abstract public boolean removeItemChild(string $itemName, string $childName) | ||
| $itemName | string | имя родительского элемента |
| $childName | string | имя дочернего элемента |
| {return} | boolean | успешно ли удаление |
public function removeItemChild($itemName,$childName);
Удаляет дочерний элемент из родителя. Обратите внимание, что дочерний элемент не удаляется. Удаляется только родительско-дочернее отношение.
revoke() метод
abstract public boolean revoke(string $itemName, mixed $userId) | ||
| $itemName | string | имя элемента |
| $userId | mixed | идентификатор пользователя (см. IWebUser::getId) |
| {return} | boolean | успешно ли удаление |
Отменяет назначение элемента авторизации для пользователя.
save() метод
abstract public void save() |
Сохраняет данные авторизации в постоянное хранилище. Если в данных авторизации внесены изменения, убедитесь, что вы вызвали этот метод для сохранения изменённых данных в постоянное хранилище.
saveAuthAssignment() метод
abstract public void saveAuthAssignment(CAuthAssignment $assignment) | ||
| $assignment | CAuthAssignment | назначение, которое было изменено. |
public function saveAuthAssignment($assignment);
Сохраняет изменения в назначении авторизации.
saveAuthItem() метод
abstract public void saveAuthItem(CAuthItem $item, string $oldName=NULL) | ||
| $item | CAuthItem | элемент, который необходимо сохранить. |
| $oldName | строка | старое имя элемента. Если null, это означает, что имя элемента не изменено. |
public function saveAuthItem($item,$oldName=null);
Сохраняет элемент авторизации в постоянное хранилище.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/IAuthManager