Spec-Zone.ru › Yii 2.0

Класс yii\filters\auth\HttpBasicAuth

Все классы | Свойства | Методы
Наследование yii\filters\auth\HttpBasicAuth » 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/HttpBasicAuth.php

HttpBasicAuth — это фильтр действий, который поддерживает метод HTTP Basic аутентификации.

Вы можете использовать HttpBasicAuth, прикрепив его как поведение к контроллеру или модулю, как показано ниже:

public function behaviors()
{
    return [
        'basicAuth' => [
            'class' => \yii\filters\auth\HttpBasicAuth::className(),
        ],
    ];
}

Стандартная реализация HttpBasicAuth использует метод loginByAccessToken() компонента приложения user и передает только имя пользователя. Эта реализация используется для аутентификации API-клиентов.

Если вы хотите аутентифицировать пользователей с помощью имени пользователя и пароля, вам необходимо предоставить функцию $auth, например, следующим образом:

public function behaviors()
{
    return [
        'basicAuth' => [
            'class' => \yii\filters\auth\HttpBasicAuth::className(),
            'auth' => function ($username, $password) {
                $user = User::find()->where(['username' => $username])->one();
                if ($user->verifyPassword($password)) {
                    return $user;
                }
                return null;
            },
        ],
    ];
}

Общественные свойства

Свойство Тип Описание Определено в
$auth callable PHP вызываемый объект, который будет аутентифицировать пользователя с использованием информации HTTP basic auth. yii\filters\auth\HttpBasicAuth
$except массив Список идентификаторов действий, к которым этот фильтр не должен применяться. yii\base\ActionFilter
$only массив Список идентификаторов действий, к которым этот фильтр должен применяться. yii\base\ActionFilter
$optional массив Список идентификаторов действий, к которым будет применяться фильтр, но при сбое аутентификации не произойдет ошибка. yii\filters\auth\AuthMethod
$owner yii\base\Component|null Владелец данного поведения yii\base\Behavior
$realm строка Область HTTP аутентификации yii\filters\auth\HttpBasicAuth
$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\HttpBasicAuth
beforeAction() Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). Вы можете переопределить этот метод, чтобы выполнить подготовку действия в последний момент. yii\filters\auth\AuthMethod
beforeFilter() yii\base\ActionFilter
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
challenge() Генерирует вызовы при ошибке аутентификации. yii\filters\auth\HttpBasicAuth
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

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

$auth общественное свойство

PHP вызываемый объект, который будет аутентифицировать пользователя с помощью информации HTTP basic auth. Вызываемый объект получает имя пользователя и пароль в качестве параметров. Он должен вернуть объект идентификации, соответствующий имени пользователя и паролю. Null должен быть возвращён, если такой объект не найден.

Следующий код является типичной реализацией этого вызываемого объекта:

function ($username, $password) {
    return \app\models\User::findOne([
        'username' => $username,
        'password' => $password,
    ]);
}

Если это свойство не установлено, информация о имени пользователя будет рассматриваться как токен доступа, а информация о пароле будет проигнорирована. Будет вызван метод yii\web\User::loginByAccessToken() для аутентификации и входа пользователя.

public callable $auth = null

$realm общественное свойство

Область HTTP аутентификации

public string $realm = 'api'

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

authenticate() public метод

Проверяет аутентификацию текущего пользователя.

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

если информация об аутентификации предоставлена, но неверна.

challenge() public метод

Генерирует запросы на аутентификацию при неудачной попытке.

Например, могут быть сгенерированы соответствующие 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-httpbasicauth.html

Spec-Zone.ru

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