Класс FormAuthenticate
Адаптер аутентификации для компонента AuthComponent. Предоставляет возможность аутентификации с использованием данных POST. Может быть использован путём настройки компонента AuthComponent для его использования через параметр AuthComponent::$authenticate.
$this->Auth->authenticate = array( 'Form' => array( 'scope' => array('User.active' => 1) ) )
При настройке FormAuthenticate вы можете передавать параметры, указывающие, какие поля, модель и дополнительные условия используются. Подробнее см. FormAuthenticate::$settings.
- BaseAuthenticate реализует CakeEventListener
-
FormAuthenticate
Непосредственные известные подклассы
BlowfishAuthenticateАвторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С версии: 2.0
См.:
AuthComponent::$authenticateРасположено в Cake/Controller/Component/Auth/FormAuthenticate.php
Подробное описание методов
_checkFieldssource protected
_checkFields( CakeRequest $request , string $model , array $fields )
Проверяет поля, чтобы убедиться, что они предоставлены.
Параметры
-
CakeRequest$request - Запрос, содержащий информацию для входа.
- строка
$model - Модель, используемая для проверки входа.
- массив
$fields - Поля, которые необходимо проверить.
Возвращает
booleanFalse, если поля не были предоставлены. True, если они существуют.
authenticatesource public
authenticate( CakeRequest $request , CakeResponse $response )
Аутентифицирует личность, содержащуюся в запросе. Использует settings.userModel, и settings.fields, чтобы найти данные POST, которые используются для поиска соответствующей записи в settings.userModel. Возвращает false, если нет данных POST, отсутствует имя пользователя или пароль, или если условия области не выполнены.
Параметры
-
CakeRequest$request - Запрос, содержащий информацию для входа.
-
CakeResponse$response - Неиспользуемый объект ответа.
Возвращает
mixedFalse при неудачном входе. Массив данных пользователя при успешном входе.
Методы, унаследованные от BaseAuthenticate
__constructsource public
__construct( ComponentCollection $collection , array $settings )
Конструктор
Параметры
-
ComponentCollection$collection - Коллекция компонентов, используемая в этом запросе.
- массив
$settings - Массив настроек для использования.
_findUsersource protected
_findUser( string|array $username , string $password null )
Поиск записи пользователя с помощью стандартных параметров.
Параметр $username может быть (строковым) именем пользователя или массивом, содержащим условия для Model::find('first'). Если параметр $password не предоставлен, поле пароля будет присутствовать в возвращаемом массиве.
Пароли на входе будут хэшироваться даже в случае, если пользователь не существует. Это помогает смягчить атаки с таймингом, пытающиеся найти действительных пользователей.
Параметры
- строка|массив
$username - Имя пользователя/идентификатор или массив условий поиска.
- строка
$passwordнеобязательно null - Пароль, используется только если параметр $username является строкой.
Возвращает
boolean|arrayFalse при неудаче, или массив данных пользователя.
_passwordsource protected
_password( string $password )
Хэширует текстовый пароль, чтобы он соответствовал хэшированному/зашифрованному паролю в источнике данных.
Устарело
3.0.0 С версии 2.4. Используйте класс PasswordHasher вместо него.Параметры
- строка
$password - Текстовый пароль.
Возвращает
stringХэшированная форма пароля.
getUsersource public
getUser( CakeRequest $request )
Получение пользователя на основе информации в запросе. В основном используется бессторонними системами аутентификации, такими как базовая и дигестивная аутентификация.
Параметры
-
CakeRequest$request - Объект запроса.
Возвращает
mixedFalse или массив информации о пользователе
implementedEventssource public
implementedEvents( )
Реализованные события
Возвращает
arrayсписок событий => обработчики.
Реализация
CakeEventListener::implementedEvents() logoutsource public
logout( array $user )
Позволяет подключиться к AuthComponent::logout() и реализовать специализированное поведение выхода.
У всех подключенных объектов аутентификации будет вызван этот метод при выходе пользователя.
Параметры
- массив
$user - Пользователь, который собирается выйти.
passwordHashersource public
passwordHasher( )
Возвращает объект хэширования паролей
Возвращает
AbstractPasswordHasherЭкземпляр хэширования паролей
Выбрасывает
CakeExceptionЕсли класс хэширования паролей не найден или он не расширяет AbstractPasswordHasher
unauthenticatedsource public
unauthenticated( CakeRequest $request , CakeResponse $response )
Обработка неудачной попытки входа без авторизации.
Параметры
-
CakeRequest$request - Объект запроса.
-
CakeResponse$response - Объект ответа.
Возвращает
mixedTrue, чтобы указать, что запрос без авторизации был обработан, и дальнейшие действия AuthComponent не требуются, или пусто (по умолчанию).
Свойства, унаследованные от BaseAuthenticate
$_Collectionsource
protected ComponentCollection
Коллекция компонентов, используемая для получения дополнительных компонентов.
$settingssource
public массив
Настройки для этого объекта.
-
fieldsПоля, используемые для идентификации пользователя. -
userModelИмя модели пользователя, по умолчанию User. -
userFieldsМассив полей для извлечения из модели User, null для извлечения всех. По умолчанию null. -
scopeДополнительные условия для использования при поиске и аутентификации пользователей, напримерarray('User.is_active' => 1). -
recursiveЗначение рекурсивного ключа, переданного в find(). По умолчанию 0. -
containДополнительные модели для хранения в сессии. -
passwordHasherКласс хэширования паролей. Может быть строкой, указывающей имя класса, или массивом, содержащим ключclassName, все другие ключи будут переданы как настройки в класс. По умолчанию «Simple».
array( 'fields' => array( 'username' => 'username', 'password' => 'password' ), 'userModel' => 'User', 'userFields' => null, 'scope' => array(), 'recursive' => 0, 'contain' => null, 'passwordHasher' => 'Simple' )
© 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/2.7/class-FormAuthenticate.html