Класс yii\filters\auth\CompositeAuth
| Наследование | yii\filters\auth\CompositeAuth » yii\filters\auth\AuthMethod » yii\base\ActionFilter » yii\base\Behavior » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\filters\auth\AuthInterface |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/filters/auth/CompositeAuth.php |
CompositeAuth — это фильтр действий, который поддерживает несколько методов аутентификации одновременно.
Методы аутентификации, содержащиеся в CompositeAuth, настраиваются через $authMethods, который представляет собой список поддерживаемых конфигураций классов аутентификации.
Следующий пример демонстрирует, как использовать три метода аутентификации:
public function behaviors()
{
return [
'compositeAuth' => [
'class' => \yii\filters\auth\CompositeAuth::className(),
'authMethods' => [
\yii\filters\auth\HttpBasicAuth::className(),
\yii\filters\auth\QueryParamAuth::className(),
],
],
];
}
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $authMethods | массив | Поддерживаемые методы аутентификации. | yii\filters\auth\CompositeAuth |
| $except | массив | Список идентификаторов действий, к которым данный фильтр не должен применяться. | yii\base\ActionFilter |
| $only | массив | Список идентификаторов действий, к которым данный фильтр должен применяться. | yii\base\ActionFilter |
| $optional | массив | Список идентификаторов действий, к которым данный фильтр будет применяться, но ошибка аутентификации не приведёт к ошибке. | yii\filters\auth\AuthMethod |
| $owner | yii\base\Component|null | Владелец данного поведения | yii\base\Behavior |
| $request | yii\web\Request | Текущий запрос. | yii\filters\auth\AuthMethod |
| $response | yii\web\Response | Ответ, который должен быть отправлен. | yii\filters\auth\AuthMethod |
| $user | yii\web\User | Объект пользователя, представляющий состояние аутентификации пользователя. | yii\filters\auth\AuthMethod |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| authenticate() | Производит аутентификацию текущего пользователя. | yii\filters\auth\CompositeAuth |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Вы можете переопределить этот метод, чтобы выполнить подготовку к действию в последний момент. | yii\filters\auth\CompositeAuth |
| beforeFilter() | yii\base\ActionFilter | |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| challenge() | Генерирует запросы на аутентификацию при ошибке аутентификации. | yii\filters\auth\CompositeAuth |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detach() | Отсоединяет объект поведения от компонента. | yii\base\Behavior |
| events() | Объявляет обработчики событий для событий $owner. | yii\base\Behavior |
| handleFailure() | Обрабатывает ошибку аутентификации. | yii\filters\auth\AuthMethod |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| getActionId() | Возвращает идентификатор действия, преобразуя yii\base\Action::$uniqueId в идентификатор, относящийся к модулю. | yii\base\ActionFilter |
| isActive() | Возвращает значение, указывающее, активен ли фильтр для данного действия. | yii\base\ActionFilter |
| isOptional() | Проверяет, является ли аутентификация необязательной для данного действия. | yii\filters\auth\AuthMethod |
Подробности свойств
$authMethods публичное свойство
Поддерживаемые методы аутентификации. Это свойство должно содержать список поддерживаемых методов аутентификации, каждый из которых представлен классом или конфигурацией метода аутентификации.
Если это свойство пустое, аутентификация не будет выполняться.
Обратите внимание, что класс метода аутентификации должен реализовывать интерфейс yii\filters\auth\AuthInterface.
public array $authMethods = []
Подробности методов
authenticate() public method
Проверяет аутентификацию текущего пользователя.
| public yii\web\IdentityInterface authenticate ( $user, $request, $response ) | ||
|---|---|---|
| $user | yii\web\User | |
| $request | yii\web\Request | |
| $response | yii\web\Response | |
| return | yii\web\IdentityInterface |
Идентификатор аутентифицированного пользователя. Если информация об аутентификации не предоставлена, будет возвращено null. |
| throws | yii\web\UnauthorizedHttpException |
если предоставленная информация об аутентификации недействительна. |
beforeAction() public method
Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Вы можете переопределить этот метод, чтобы выполнить подготовку к действию в последний момент.
| public boolean beforeAction ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое должно быть выполнено. |
| return | boolean |
Должно ли действие продолжить выполняться. |
challenge() public method
Генерирует запросы на проверку при ошибке аутентификации.
Например, могут быть сгенерированы соответствующие HTTP-заголовки.
| public void challenge ( $response ) | ||
|---|---|---|
| $response | yii\web\Response | |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-filters-auth-compositeauth.html