Класс BasicAuthenticate
Адаптер аутентификации Basic для AuthComponent.
Обеспечивает поддержку HTTP-аутентификации Basic для AuthComponent. Basic Auth аутентифицирует пользователей по настроенной модели пользователей и проверяет соответствие имени пользователя и пароля.
Использование Basic auth
Загрузите 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 auth. Использует настроенную модель пользователя и пытается выполнить вход с помощью HTTP auth.
- getUser() publicПолучить пользователя на основе информации в запросе. Используется для бесклеточной аутентификации для бессостоятельных клиентов.
- loginHeaders() publicСгенерировать заголовки входа
- unauthenticated() publicОбрабатывает попытку доступа без аутентификации, отправив соответствующие заголовки входа
Подробное описание методов
authenticate()source public
authenticate( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Аутентификация пользователя с помощью HTTP auth. Использует настроенную модель пользователя и пытается выполнить вход с помощью HTTP auth.
Параметры
-
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( )
Возвращает true, если пароль, хранящийся в хранилище для авторизованного пользователя, требует повторного хэширования другим алгоритмом.
Возвращает
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 - Значение для записи.
- boolean|строка
$mergeнеобязательно false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionесли попытка перезаписи существующей конфигурации
config()source public deprecated
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 - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию 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 - Значение по умолчанию, если ключ не существует.
Возвращает
смешанныйДанные конфигурации по указанному ключу или 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 - Значение для установки.
- 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 deprecated
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.8/class-Cake.Auth.BasicAuthenticate.html