Spec-Zone.ru › Yii 2.0

Класс 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

Защищённые методы

Метод Описание Определено в
matchAction() yii\filters\AccessRule
matchController() yii\filters\AccessRule
matchCustom() yii\filters\AccessRule
matchIP() yii\filters\AccessRule
matchRole() yii\filters\AccessRule
matchVerb() yii\filters\AccessRule

Свойства

$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

Объект пользователя или false в случае отсоединенного компонента User

$request yii\web\Request
return boolean|null

true если пользователю разрешено, false если пользователю запрещено, 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API