Spec-Zone.ru › Yii 2.0

Класс yii\filters\AccessControl

Все классы | Свойства | Методы
Наследование yii\filters\AccessControl » yii\base\ActionFilter » yii\base\Behavior » yii\base\Object
Реализует yii\base\Configurable
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/filters/AccessControl.php

AccessControl предоставляет простую систему контроля доступа на основе набора правил.

AccessControl является фильтром действий. Он проверяет свои $rules, чтобы найти первое правило, соответствующее текущим переменным контекста (например, IP-адрес пользователя, роль пользователя). Соответствующее правило определит, разрешить или запретить доступ к запрошенному действию контроллера. Если ни одно правило не соответствует, доступ будет запрещён.

Чтобы использовать AccessControl, объявите его в методе behaviors() вашего класса контроллера. Например, следующие объявления позволят аутентифицированным пользователям получить доступ к действиям "create" и "update" и запретят доступ всем остальным пользователям к этим двум действиям.

public function behaviors()
{
    return [
        'access' => [
            'class' => \yii\filters\AccessControl::className(),
            'only' => ['create', 'update'],
            'rules' => [
                // deny all POST requests
                [
                    'allow' => false,
                    'verbs' => ['POST']
                ],
                // allow authenticated users
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
                // everything else is denied
            ],
        ],
    ];
}

Публичные свойства

Свойство Тип Описание Определено
$denyCallback callable Обратный вызов, который будет вызван, если доступ к текущему пользователю запрещён. yii\filters\AccessControl
$except массив Список идентификаторов действий, к которым данный фильтр не должен применяться. yii\base\ActionFilter
$only массив Список идентификаторов действий, к которым данный фильтр должен применяться. yii\base\ActionFilter
$owner yii\base\Component|null Владелец данного поведения yii\base\Behavior
$ruleConfig массив Конфигурация по умолчанию для правил доступа. yii\filters\AccessControl
$rules массив Список объектов правил доступа или конфигурационных массивов для создания объектов правил. yii\filters\AccessControl
$user yii\web\User|массив|строка|false Объект пользователя, представляющий статус аутентификации или идентификатор компоненты приложения пользователя. yii\filters\AccessControl

Публичные методы

Метод Описание Определено
__call() Вызывает метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в значение null. yii\base\Object
afterAction() Этот метод вызывается сразу после выполнения действия. yii\base\ActionFilter
afterFilter() yii\base\ActionFilter
attach() Прикрепляет объект поведения к компоненту. yii\base\Behavior
beforeAction() Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Вы можете переопределить этот метод, чтобы выполнить последнюю подготовку к действию. yii\filters\AccessControl
beforeFilter() yii\base\ActionFilter
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detach() Отсоединяет объект поведения от компонента. yii\base\Behavior
events() Объявляет обработчики событий для событий $owner. yii\base\Behavior
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует массив $rules, создавая объекты правил из конфигураций. yii\filters\AccessControl

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

Метод Описание Определено
denyAccess() Запрещает доступ пользователю. yii\filters\AccessControl
getActionId() Возвращает идентификатор действия, преобразуя yii\base\Action::$uniqueId в идентификатор, относящийся к модулю. yii\base\ActionFilter
isActive() Возвращает значение, указывающее, активен ли фильтр для данного действия. yii\base\ActionFilter

Подробное описание свойств

$denyCallback публичное свойство

Обратный вызов, который будет вызван, если доступ к текущему пользователю запрещён. Если не задано, будет вызван denyAccess().

Подпись обратного вызова должна быть следующей:

function ($rule, $action)

где $rule — правило, запрещающее доступ пользователю, и $action — текущий объект action. $rule может быть null в случае запрета доступа из-за отсутствия соответствия ни одному из правил.

public callable $denyCallback = null

$ruleConfig публичное свойство

Конфигурация по умолчанию для правил доступа. Индивидуальные конфигурации правил, указанные через $rules, будут иметь приоритет, когда одинаковое свойство правила настроено.

public array $ruleConfig = ['class' => 'yii\filters\AccessRule']

$rules публичное свойство

Список объектов правил доступа или конфигурационных массивов для создания объектов правил. Если правило задано через конфигурационный массив, оно будет сначала объединено с $ruleConfig, прежде чем будет использоваться для создания объекта правила.

См. также $ruleConfig.

public array $rules = []

$user публичное свойство

Объект пользователя, представляющий статус аутентификации или идентификатор компоненты приложения пользователя. Начиная с версии 2.0.2, это также может быть конфигурационный массив для создания объекта. Начиная с версии 2.0.12, вы можете установить его в значение false чтобы явно отключить поддержку этого компонента для фильтра.

public yii\web\User|array|string|false $user = 'user'

Подробное описание методов

beforeAction() public method

Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Вы можете переопределить этот метод для выполнения последней подготовки к выполнению действия.

public boolean beforeAction ( $action )
$action yii\base\Action

Действие, которое должно быть выполнено.

return boolean

Должно ли действие продолжить выполняться.

denyAccess() protected method

Отказывает в доступе пользователю.

По умолчанию, если пользователь гость, он будет перенаправлен на страницу входа; если пользователь уже авторизован, будет брошено исключение HTTP 403.

protected void denyAccess ( $user )
$user yii\web\User|false

Текущий пользователь или логическое значение false, в случае открепленного компонента User

throws yii\web\ForbiddenHttpException

если пользователь уже авторизован или в случае открепленного компонента User.

init() public method

Инициализирует массив $rules, создавая объекты правил из конфигураций.

public void init ( )

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-filters-accesscontrol.html

Spec-Zone.ru

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