Класс BasicAuthenticate
Адаптер базовой аутентификации для AuthComponent.
Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и пароля.
Использование базовой аутентификации
В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию
public $components = [
'Auth' => [
'authenticate' => ['Basic']
]
]; Вы также должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего AppController, чтобы предотвратить отправку CakePHP куки сессии клиенту.
Поскольку HTTP-базовая аутентификация бессостоятельна, вам не нужен действие login() в вашем контроллере. Данные учетных данных пользователя будут проверяться при каждом запросе. Если не предоставлены действительные учетные данные, этот поставщик аутентификации отправит необходимые заголовки аутентификации, которые инициируют диалог входа в браузере/клиенте.
Возможно, вам также потребуется использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес источника, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\BasicAuthenticate
Непосредственные подклассы
Унаследованные свойства
Краткое описание методов
- authenticate() public
Аутентифицировать пользователя с помощью HTTP-аутентификации. Будет использовать настроенную модель пользователя и попытаться выполнить вход с помощью HTTP-аутентификации.
- getUser() publicПолучить пользователя на основе информации в запросе. Используется для аутентификации без куки для бессостоятельных клиентов.
- loginHeaders() publicГенерировать заголовки входа
- unauthenticated() publicОбрабатывает попытку доступа без аутентификации, отправляя соответствующие заголовки входа
Подробное описание методов
authenticate()source public
authenticate( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Аутентифицировать пользователя с помощью HTTP-аутентификации. Будет использовать настроенную модель пользователя и попытаться выполнить вход с помощью HTTP-аутентификации.
Параметры
-
Cake\Http\ServerRequest$request - Запрос для аутентификации.
-
Cake\Http\Response$response - Ответ для добавления заголовков.
Возвращает
mixedВ случае неудачи — false, в случае успеха — массив данных пользователя.
getUser()source public
getUser( Cake\Http\ServerRequest $request )
Получить пользователя на основе информации в запросе. Используется для аутентификации без куки для бессостоятельных клиентов.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
Возвращает
mixedВ случае неудачи — false, в случае успеха — массив информации о пользователе
Переопределяет
Cake\Auth\BaseAuthenticate::getUser() loginHeaders()source public
loginHeaders( Cake\Http\ServerRequest $request )
Генерировать заголовки входа
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
Возвращает
stringЗаголовки для входа.
unauthenticated()source public
unauthenticated( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Обрабатывает попытку доступа без аутентификации, отправляя соответствующие заголовки входа
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
-
Cake\Http\Response$response - Объект ответа.
Выбрасывает
Cake\Network\Exception\UnauthorizedExceptionПереопределяет
Cake\Auth\BaseAuthenticate::unauthenticated() Методы, унаследованные от Cake\Auth\BaseAuthenticate
__construct()source public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - Регистр компонентов, используемый в этом запросе.
- массив
$configнеобязательно [] - Массив конфигурации для использования.
_findUser()source protected
_findUser( string $username , string|null $password null )
Найти запись пользователя по имени пользователя и паролю.
Пароли на вход будут хешироваться, даже если пользователь не существует. Это помогает уменьшить атаки по таймингу, которые пытаются найти допустимые имена пользователей.
Параметры
- строка
$username - Имя пользователя/идентификатор.
- строка|null
$passwordнеобязательно null Пароль, если он не предоставлен, проверка пароля пропускается, и возвращается результат поиска.
Возвращает
boolean|arrayВ случае неудачи — false, в случае успеха — массив данных пользователя.
_query()source protected
_query( string $username )
Получить объект запроса для извлечения пользователя из базы данных.
Параметры
- строка
$username - Имя пользователя/идентификатор.
Возвращает
Cake\ORM\QueryimplementedEvents()source public
implementedEvents( )
Возвращает список всех событий, на которые будет реагировать этот класс аутентификации.
Класс аутентификации может реагировать на следующие события, генерируемые AuthComponent:
Auth.afterIdentify- Вызывается после того, как пользователь был идентифицирован с помощью одного из настроенных классов аутентификации. Функция обратного вызова должна иметь подпись, похожую наafterIdentify(Event $event, array $user)когда$user- это запись идентифицированного пользователя.Auth.logout- Вызывается при вызове AuthComponent::logout(). Функция обратного вызова должна иметь подпись, похожую наlogout(Event $event, array $user)где$user- это пользователь, который собирается выйти из системы.
Возвращает
массивСписок событий, на которые реагирует этот класс. По умолчанию
[].Реализация
Cake\Event\EventListenerInterface::implementedEvents() needsPasswordRehash()source public
needsPasswordRehash( )
Возвращает, требуется ли перехеширование пароля, хранящегося в хранилище, для вошедшего в систему пользователя, с использованием другого алгоритма.
Возвращает
booleanpasswordHasher()source public
passwordHasher( )
Возвращает объект хеширования паролей
Возвращает
Cake\Auth\AbstractPasswordHasherЭкземпляр хеширования паролей
Выбрасывает
RuntimeExceptionЕсли класс хеширования паролей не найден или он не расширяет AbstractPasswordHasher
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет единственный ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configRead()source protected
_configRead( string|null $key )
Считывает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записывает значение конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- логическое|строка
$mergeнеобязательно false Истинное значение для рекурсивного слияния, 'shallow' для простого слияния, ложное для перезаписи, по умолчанию ложно.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
config()source public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Получение/Установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устаревшее
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигурации.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- логическое
$mergeнеобязательно true - Производить ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию - истина.
Возвращает
смешанныйЗначение конфигурации, которое читается, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )
Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигурации.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key null , mixed $default null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанный
$defaultнеобязательно null - Возвращаемое значение, когда ключ не существует.
Возвращает
смешанныйЗначение конфигурации, которое читается.
setConfig()source public
setConfig( string|array $key , mixed|null $value null , boolean $merge true )
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигурации.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- логическое
$mergeнеобязательно true - Производить ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию - истина.
Возвращает
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
© 2005–2018 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.5/class-Cake.Auth.BasicAuthenticate.html