Класс FormAuthenticate
Адаптер аутентификации по форме для компонента AuthComponent.
Позволяет аутентифицировать пользователей на основе данных POST-запроса формы. Обычно это форма входа, в которую пользователи вводят информацию.
Использование аутентификации по форме
Загрузите 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|массив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 - Объект запроса.
Возвращает
mixedFalse или массив информации о пользователе
implementedEvents()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
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 - Возвращаемое значение, если ключ не существует.
Возвращает
смешанноеЗначение конфигурации, которое читается.
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.7/class-Cake.Auth.FormAuthenticate.html