Класс FormAuthenticate
Адаптер аутентификации для компонента AuthComponent. Предоставляет возможность аутентификации с использованием данных POST. Может быть использован, настроив компонент AuthComponent для его использования через конфигурацию AuthComponent::$authenticate.
$this->Auth->authenticate = [ 'Form' => [ 'scope' => ['Users.active' => 1] ] ]
При настройке FormAuthenticate можно передать конфигурацию, в которой указаны поля, модель и дополнительные условия. Для получения дополнительной информации см. FormAuthenticate::$_config.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\FormAuthenticate
См.: AuthComponent::$authenticate
Расположение: Auth/FormAuthenticate.php
Подробное описание методов
_checkFieldssource protected
_checkFields( Cake\Network\Request $request , array $fields )
Проверяет поля, чтобы убедиться, что они предоставлены.
Параметры
-
Cake\Network\Request$request - Запрос, содержащий информацию для входа.
- массив
$fields - Поля, которые необходимо проверить.
Возвращает
booleanFalse, если поля не были предоставлены. True, если они существуют.
authenticatesource public
authenticate( Cake\Network\Request $request , Cake\Network\Response $response )
Проверяет подлинность личности, содержащейся в запросе. Использует config.userModel, и config.fields для поиска данных POST, которые используются для поиска совпадающей записи в config.userModel. Вернёт false, если нет данных POST, отсутствует имя пользователя или пароль, или не выполнены условия области видимости.
Параметры
-
Cake\Network\Request$request - Запрос, содержащий информацию для входа.
-
Cake\Network\Response$response - Неиспользуемый объект ответа.
Возвращает
mixedFalse при ошибке входа. Массив данных пользователя при успехе.
Методы, унаследованные от Cake\Auth\BaseAuthenticate
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - Реестр компонентов, используемый в этом запросе.
- массив
$configнеобязательно [] - Массив конфигурации для использования.
_findUsersource protected
_findUser( string $username , string|null $password null )
Найти запись пользователя, используя имя пользователя и пароль.
Пароли на вход будут хешированы, даже если пользователь не существует. Это помогает смягчить атаки с подсчетом времени, которые пытаются найти допустимые имена пользователей.
Параметры
- строка
$username - Имя пользователя/идентификатор.
- строка|null
$passwordнеобязательно null - Пароль, если он не предоставлен, проверка пароля пропускается, и возвращается результат поиска.
Возвращает
boolean|arrayFalse при ошибке, или массив данных пользователя.
_querysource protected
_query( string $username )
Получить объект запроса для извлечения пользователя из базы данных.
Параметры
- строка
$username - Имя пользователя/идентификатор.
Возвращает
Cake\ORM\Query\Cake\ORM\Query
getUsersource public
getUser( Cake\Network\Request $request )
Получить пользователя на основе информации в запросе. В основном используется бессерверными системами аутентификации, такими как basic и digest аутентификация.
Параметры
-
Cake\Network\Request$request - Объект запроса.
Возвращает
mixedFalse или массив информации о пользователе
implementedEventssource 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() needsPasswordRehashsource public
needsPasswordRehash( )
Возвращает, требует ли пароль, хранящийся в репозитории для вошедшего пользователя, повторного хеширования с другим алгоритмом
Возвращает
booleanbool
passwordHashersource public
passwordHasher( )
Возвращает объект хеширования паролей
Возвращает
Cake\Auth\AbstractPasswordHasherЭкземпляр хеширования паролей
Выбрасывает
RuntimeExceptionЕсли класс хеширования паролей не найден или не расширяет AbstractPasswordHasher
unauthenticatedsource public
unauthenticated( Cake\Network\Request $request , Cake\Network\Response $response )
Обработка неудачной попытки доступа к неаутентифицированному пользователю. В реализации допустимыми значениями возврата могут быть:
- Null - Никаких действий не выполнено, AuthComponent должен вернуть соответствующий ответ.
- Cake\Network\Response - Объект ответа, который заставит AuthComponent просто вернуть этот ответ.
Параметры
-
Cake\Network\Request$request - Объект запроса.
-
Cake\Network\Response$response - Объект ответа.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удалить один ключ конфигурации
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\ExceptionЕсли попытка перезаписи существующей конфигурации
_configReadsource protected
_configRead( string|null $key )
Прочитать переменную конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixedсмешанное
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записать переменную конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Выбрасывает
Cake\Core\Exception\ExceptionЕсли попытка перезаписи существующей конфигурации
configsource 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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующие настройки, по умолчанию true.
Возвращает
mixedЗначение конфига, которое читается, или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
Объединить предоставленный конфиг с существующим. В отличие от config(), которое выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определённого значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких настроек конфига одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или полный массив настроек.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращает
mixed$this Сам объект.
Наследуемые свойства из Cake\Auth\BaseAuthenticate
$_defaultConfigsource
protected array
Настройки по умолчанию для этого объекта.
-
fieldsПоля для идентификации пользователя. -
userModelАльяс таблицы пользователей, по умолчанию Users. -
finderМетод поиска для извлечения записи пользователя. По умолчанию 'all'. -
passwordHasherКласс хэширования паролей. Может быть строкой, указывающей имя класса, или массивом, содержащимclassNameключ, любые другие ключи будут переданы как конфигурация в класс. По умолчанию 'Default'. - Опции
scopeиcontainустарели начиная с версии 3.1. Используйте пользовательский поиск вместо этого, чтобы изменить запрос на извлечение записи пользователя.
[
'fields' => [
'username' => 'username',
'password' => 'password'
],
'userModel' => 'Users',
'scope' => [],
'finder' => 'all',
'contain' => null,
'passwordHasher' => 'Default'
] $_needsPasswordRehashsource
protected boolean
Требуется ли повторное хэширование пароля пользователя, аутентифицированного этим классом, с использованием другого алгоритма.
false $_registrysource
protected Cake\Controller\ComponentRegistry
Регистр компонентов, используемый для получения дополнительных компонентов.
Используемые свойства из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указатель того, была ли конфигурация свойств уже настроена по умолчанию
false
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Auth.FormAuthenticate.html