Класс FormAuthenticate
Адаптер аутентификации для компонента AuthComponent. Обеспечивает возможность аутентификации с использованием данных POST. Может использоваться путем конфигурации компонента AuthComponent для его использования через конфигурацию AuthComponent::$authenticate.
$this->Auth->authenticate = [
'Form' => [
'finder' => ['auth' => ['some_finder_option' => 'some_value']]
]
] При конфигурации FormAuthenticate вы можете передать конфигурацию, в которой указаны поля, модель и дополнительные условия. Более подробная информация в FormAuthenticate::$_config.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\FormAuthenticate
См.: \Cake\Controller\Component\AuthComponent::$authenticate
Расположение: Auth/FormAuthenticate.php
Унаследованные свойства
Краткое описание методов
- _checkFields() protectedПроверяет поля, чтобы убедиться, что они предоставлены.
- authenticate() public
Производит аутентификацию личности, содержащейся в запросе. Использует
config.userModel, иconfig.fieldsдля поиска данных POST, которые используются для поиска совпадающей записи вconfig.userModel. Возвращает false, если нет данных POST, отсутствует имя пользователя или пароль, или не выполнены условия области.
Подробное описание методов
_checkFields()source protected
_checkFields( Cake\Http\ServerRequest $request , array $fields )
Проверяет поля, чтобы убедиться, что они предоставлены.
Параметры
-
Cake\Http\ServerRequest$request - Запрос, содержащий информацию для входа.
- массив
$fields - Поля, подлежащие проверке.
Возвращаемое значение
booleanFalse, если поля не были предоставлены. True, если они существуют.
authenticate()source public
authenticate( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Производит аутентификацию личности, содержащейся в запросе. Использует config.userModel, и config.fields для поиска данных POST, которые используются для поиска совпадающей записи в config.userModel. Возвращает false, если нет данных POST, отсутствует имя пользователя или пароль, или не выполнены условия области.
Параметры
-
Cake\Http\ServerRequest$request - Запрос, содержащий информацию для входа.
-
Cake\Http\Response$response - Неиспользуемый объект ответа.
Возвращаемое значение
смешанноеFalse при неудачной попытке входа. Массив данных пользователя при успехе.
Методы, унаследованные от 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\QuerygetUser()source public
getUser( Cake\Http\ServerRequest $request )
Получить пользователя на основе информации в запросе. В основном используется бессерверными системами аутентификации, такими как basic и digest auth.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
Возвращает
mixedВ случае ошибки — false, в противном случае — массив информации о пользователе
implementedEvents()source public
implementedEvents( )
Возвращает список всех событий, на которые будет подписываться этот класс аутентификации.
Класс аутентификации может подписываться на следующие события, генерируемые компонентом Auth:
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
unauthenticated()source public
unauthenticated( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Обработка неудачной попытки аутентификации. В реализации допустимы следующие возвращаемые значения:
- Null — Нет действий, компонент Auth должен вернуть соответствующий ответ.
- Cake\Http\Response — Объект ответа, в этом случае компонент Auth просто вернет этот ответ.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
-
Cake\Http\Response$response - Объект ответа.
Методы, используемые из 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 Истинное значение для рекурсивного слияния, '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() вместо этого.Параметры
- 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При попытке установить неверный ключ.
© 2005–2017 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.4/class-Cake.Auth.FormAuthenticate.html