Класс yii\filters\AccessRule
| Наследование | yii\filters\AccessRule » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/filters/AccessRule.php |
Этот класс представляет правило доступа, определённое фильтром действия yii\filters\AccessControl
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $actions | массив | Список идентификаторов действий, к которым относится это правило. | yii\filters\AccessRule |
| $allow | boolean | Является ли это правилом «разрешения» или «запрета». | yii\filters\AccessRule |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $controllers | массив | Список идентификаторов контроллеров, к которым относится это правило. | yii\filters\AccessRule |
| $denyCallback | callable | Обратный вызов, который будет вызван, если это правило определяет, что доступ к текущему действию должен быть запрещён. | yii\filters\AccessRule |
| $ips | массив | Список IP-адресов пользователей, к которым относится это правило. | yii\filters\AccessRule |
| $matchCallback | callable | Обратный вызов, который будет вызван для определения, должно ли быть применено правило. | yii\filters\AccessRule |
| $roleParams | массив|Closure | Параметры, передаваемые функции yii\web\User::can() для оценки прав пользователя в $roles. | yii\filters\AccessRule |
| $roles | массив | Список ролей, к которым относится это правило (требуется должным образом настроенный компонент User). | yii\filters\AccessRule |
| $verbs | массив | Список методов запроса (например, GET, POST), к которым относится это правило. | yii\filters\AccessRule |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| allows() | Проверяет, разрешено ли веб-пользователю выполнить указанное действие. | yii\filters\AccessRule |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен действовать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикреплённые к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
Свойства
$actions общественное свойство
Список идентификаторов действий, к которым применяется данное правило. Сравнение регистрозависимое. Если свойство не задано или пустое, правило применяется ко всем действиям.
public array $actions = null
$allow общественное свойство
Является ли это правилом разрешения или запрета.
public boolean $allow = null
$controllers общественное свойство
Список идентификаторов контроллеров, к которым применяется это правило.
Сравнение использует yii\base\Controller::$uniqueId, поэтому каждый идентификатор контроллера предваряется идентификатором модуля (если он есть). Для контроллера product в приложении вы бы указали это свойство как ['product'] , а если этот контроллер находится в модуле shop, это будет ['shop/product'].
Сравнение регистрозависимое.
Если свойство не задано или пустое, это означает, что правило применяется ко всем контроллерам.
Начиная с версии 2.0.12, идентификаторы контроллеров могут быть указаны как шаблоны, например module/*.
public array $controllers = null
$denyCallback общественное свойство
Обратный вызов, который будет вызван, если это правило определит, что доступ к текущему действию должен быть запрещен. Если не задано, поведение будет определяться yii\filters\AccessControl.
Подпись обратного вызова должна быть следующей:
function ($rule, $action)
где $rule это правило, а $action — текущий объект действия.
public callable $denyCallback = null
$ips общественное свойство
Список IP-адресов пользователей, к которым применяется это правило. IP-адрес может содержать подстановочный символ * в конце, чтобы он соответствовал IP-адресам с тем же префиксом. Например, '192.168.*' соответствует всем IP-адресам в сегменте '192.168.'. Если свойство не задано или пустое, это означает, что правило применяется ко всем IP-адресам.
См. также yii\web\Request::$userIP.
public array $ips = null
$matchCallback общественное свойство
Обратный вызов, который будет вызван для определения, должно ли применяться правило. Подпись обратного вызова должна быть следующей:
function ($rule, $action)
где $rule это правило, а $action — текущий объект действия. Обратный вызов должен вернуть логическое значение, указывающее, следует ли применять это правило.
public callable $matchCallback = null
$roleParams общественное свойство (доступно начиная с версии 2.0.12)
Параметры, передаваемые в функцию yii\web\User::can() для оценки разрешений пользователя в $roles.
Если это массив, он будет передан непосредственно в yii\web\User::can(). Например, для передачи идентификатора из текущего запроса, вы можете использовать следующее:
['postId' => Yii::$app->request->get('id')]
Вы также можете указать замыкание, которое возвращает массив. Это можно использовать для оценки значений массива только в том случае, если они нужны, например, когда модель необходимо загрузить, как в следующем коде:
'rules' => [
[
'allow' => true,
'actions' => ['update'],
'roles' => ['updatePost'],
'roleParams' => function($rule) {
return ['post' => Post::findOne(Yii::$app->request->get('id'))];
},
],
],
Ссылка на экземпляр yii\filters\AccessRule будет передана в замыкание в качестве первого параметра.
См. также $roles.
public array|Closure $roleParams = []
$roles общественное свойство
Список ролей, к которым применяется это правило (требует должной настройки компонента User). Распознаются две специальные роли, которые проверяются через yii\web\User::$isGuest:
-
?: соответствует гостевому пользователю (еще не авторизован) -
@: соответствует авторизованному пользователю
Если вы используете RBAC (контроль доступа на основе ролей), вы также можете указать имена ролей или разрешений. В этом случае будет вызван yii\web\User::can() для проверки доступа.
Если это свойство не задано или пустое, это означает, что правило применяется ко всем ролям.
См. также $roleParams.
public array $roles = null
$verbs общественное свойство
Список методов запроса (например, GET, POST), к которым применяется это правило. Если свойство не задано или пустое, это означает, что правило применяется ко всем методам запроса.
См. также yii\web\Request::$method.
public array $verbs = null
Подробное описание методов
allows() общественный метод
Проверяет, разрешен ли веб-пользователю выполнить указанное действие.
| public boolean|null allows ( $action, $user, $request ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое необходимо выполнить |
| $user | yii\web\User|false |
Объект пользователя или |
| $request | yii\web\Request | |
| return | boolean|null |
|
matchAction() защищенный метод
| protected boolean matchAction ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие |
| return | boolean |
Применимо ли правило к действию |
matchController() защищенный метод
| protected boolean matchController ( $controller ) | ||
|---|---|---|
| $controller | yii\base\Controller |
Контроллер |
| return | boolean |
Применимо ли правило к контроллеру |
matchCustom() защищенный метод
| protected boolean matchCustom ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое необходимо выполнить |
| return | boolean |
Следует ли применять правило |
matchIP() защищенный метод
| protected boolean matchIP ( $ip ) | ||
|---|---|---|
| $ip | string|null |
IP-адрес |
| return | boolean |
Применимо ли правило к IP-адресу |
matchRole() защищенный метод
| protected boolean matchRole ( $user ) | ||
|---|---|---|
| $user | yii\web\User |
Объект пользователя |
| return | boolean |
Применимо ли правило к роли |
| throws | yii\base\InvalidConfigException |
если компонент User отсоединен |
matchVerb() защищенный метод
| protected boolean matchVerb ( $verb ) | ||
|---|---|---|
| $verb | string |
Метод запроса. |
| return | boolean |
Применимо ли правило к запросу |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-filters-accessrule.html