Класс FormAuthenticate
Адаптер проверки подлинности по форме для AuthComponent.
Позволяет проверять подлинность пользователей на основе данных POST-запроса формы. Обычно это форма входа, в которую пользователи вводят информацию.
Использование Form Auth
Загрузите AuthComponent в initialize() контроллера и добавьте 'Form' в ключ 'authenticate'.
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => ['username' => 'email', 'password' => 'passwd'],
'finder' => 'auth',
]
]
]); При конфигурировании FormAuthenticate вы можете передать конфигурацию, в которой указаны поля, модель и поиск. Подробнее см. BaseAuthenticate::$_defaultConfig.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\ORM\Locator\LocatorAwareTrait
-
Cake\Auth\FormAuthenticate
См.: https://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположение: Auth/FormAuthenticate.php
Наследуемые свойства
-
_defaultConfig,_needsPasswordRehash,_passwordHasher,_registry_config,_configInitialized_tableLocator
Краткое описание методов
- _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 - Неиспользуемый объект ответа.
Возвращаемое значение
mixedFalse при неудачной попытке входа. Массив данных пользователя при успехе.
Методы, унаследованные от 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.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
Возвращаемое значение
mixedЛибо false, либо массив информации о пользователе
implementedEvents()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
unauthenticated()source public
unauthenticated( Cake\Http\ServerRequest $request , Cake\Http\Response $response )
Обработка неудачной попытки авторизации. В реализации допустимыми значениями возврата могут быть:
- Null — Без действий, AuthComponent должен вернуть соответствующий ответ.
- Cake\Http\Response — Объект ответа, который заставит AuthComponent просто вернуть этот ответ.
Параметры
-
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 - Значение для записи.
- логическое|строка
$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() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- логическое
$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 - Значение для установки.
- логическое
$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.8/class-Cake.Auth.FormAuthenticate.html