Класс BasicAuthenticate
Адаптер Basic Authentication для AuthComponent.
Обеспечивает поддержку Basic HTTP аутентификации для AuthComponent. Basic Auth будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и пароля.
Использование Basic аутентификации
Загрузите AuthComponent в initialize() вашего контроллера и добавьте 'Basic' в ключ 'authenticate'
$this->loadComponent('Auth', [
'authenticate' => ['Basic']
'storage' => 'Memory',
'unauthorizedRedirect' => false,
]); Вы должны установить storage в Memory, чтобы предотвратить CakePHP от отправки куки сессии клиенту.
Вы должны установить unauthorizedRedirect в false. Это заставляет AuthComponent генерировать исключение ForbiddenException вместо перенаправления на другую страницу.
Поскольку HTTP Basic Authentication бессостоятельна, вам не нужно вызывать setUser() в вашем контроллере. Данные учетных данных пользователя будут проверяться при каждом запросе. Если не предоставлены корректные учетные данные, этот провайдер аутентификации отправит необходимые заголовки аутентификации, что вызовет диалог входа в браузере/клиенте.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\ORM\Locator\LocatorAwareTrait
-
Cake\Auth\BasicAuthenticate
Прямые подклассы
См.: https://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположение: Auth/BasicAuthenticate.php
Унаследованные свойства
-
_defaultConfig,_needsPasswordRehash,_passwordHasher,_registry_config,_configInitialized_tableLocator
Краткое описание методов
- authenticate() public
Аутентификация пользователя с использованием HTTP аутентификации. Будет использовать настроенную модель
Userи попытается выполнить вход с использованием HTTP аутентификации. - getUser() publicПолучение пользователя на основе информации в запросе. Используется для бескуки аутентификации для бессостоятельных клиентов.
- loginHeaders() publicГенерация заголовков входа
- unauthenticated() publicОбработка неудачной аутентификации, отправляя соответствующие заголовки входа
Подробное описание методов
authenticate()source public
authenticate( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Аутентификация пользователя с использованием HTTP аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с использованием 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 - Объект запроса.
Возвращает
arrayЗаголовки для входа.
unauthenticated()source public
unauthenticated( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Обработка неудачной аутентификации, отправляя соответствующие заголовки входа
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
-
Cake\Http\Response$response - Объект ответа.
Выбрасывает
Cake\Http\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— пользователь, который собирается выйти из системы.
Возвращает
arrayСписок событий, на которые реагирует этот класс. По умолчанию
[].Реализация
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 )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeнеобязательный false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
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() вместо этого.Параметры
- string|array|null
$keyнеобязательный null - Ключ для получения/установки или полный массив конфигураций.
- mixed|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
mixedЗначение конфигурации, которое читается, или сам объект при операциях записи.
Исключения
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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|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'); Параметры
- string|null
$keyнеобязательный null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultнеобязательный null - Значение, возвращаемое, когда ключ не существует.
Возвращает
mixedЗначение конфигурации для чтения.
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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public устаревшее
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернет текущий используемый локатор.
Устаревшее
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательный null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterface
© 2005–present 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.6/class-Cake.Auth.BasicAuthenticate.html