Класс 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 )
Записывает ключ конфигурации.
Параметры
- 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.FormAuthenticate.html