Класс BlowfishAuthenticate
Адаптер аутентификации для AuthComponent. Предоставляет возможность аутентификации с использованием данных POST с использованием хеширования Blowfish. Может быть использован путём настройки AuthComponent для использования его через параметр AuthComponent::$authenticate.
$this->Auth->authenticate = array( 'Blowfish' => array( 'scope' => array('User.active' => 1) ) )
При конфигурации BlowfishAuthenticate вы можете передать настройки, которые указывают, какие поля, модель и дополнительные условия используются. Для получения дополнительной информации обратитесь к FormAuthenticate::$settings.
Для начального хеширования/создания пароля см. Security::hash(). Помимо того, как пароль первоначально хешируется, BlowfishAuthenticate работает точно так же, как FormAuthenticate.
- BaseAuthenticate реализует CakeEventListener
-
FormAuthenticate -
BlowfishAuthenticate
Устарело: 3.0.0 С версии 2.4. Просто используйте FormAuthenticate с параметром 'passwordHasher' установленным в 'Blowfish'
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С момента: CakePHP(tm) v 2.3
См.:
AuthComponent::$authenticateРасположение: Cake/Controller/Component/Auth/BlowfishAuthenticate.php
Подробное описание методов
__constructsource public
__construct( ComponentCollection $collection , array $settings )
Конструктор. Устанавливает значение passwordHasher по умолчанию как Blowfish
Параметры
-
ComponentCollection$collection - Коллекция компонентов, используемая в этом запросе.
- массив
$settings - Массив настроек для использования.
Переопределяет
BaseAuthenticate::__construct() Методы, унаследованные от FormAuthenticate
_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
_findUsersource protected
_findUser( string|array $username , string $password null )
Найти запись пользователя с использованием стандартных параметров.
Параметр $username может быть (строковым) именем пользователя или массивом, содержащим условия для Model::find('first'). Если параметр $password не указан, поле password будет присутствовать в возвращаемом массиве.
Вводимые пароли будут хешироваться даже в том случае, если пользователь не существует. Это помогает снизить вероятность атак, основанных на времени, которые пытаются найти допустимые имена пользователей.
Параметры
- строка|массив
$username - Имя пользователя/идентификатор или массив условий поиска.
- строка
$passwordнеобязательный null - Пароль, используется только если параметр $username является строкой.
Возвращает
boolean|arrayFalse в случае ошибки, или массив данных пользователя.
_passwordsource protected
_password( string $password )
Хешировать простой пароль, чтобы он соответствовал хешированному/зашифрованному паролю в источнике данных.
Параметры
- строка
$password - Простой текст пароля.
Возвращает
stringХешированная форма пароля.
getUsersource public
getUser( CakeRequest $request )
Получить пользователя на основе информации в запросе. В основном используется бессерверными системами аутентификации, такими как аутентификация по протоколу basic и digest.
Параметры
-
CakeRequest$request - Объект запроса.
Возвращает
mixedEither false или массив информации о пользователе
implementedEventssource public
implementedEvents( )
Реализованные события
Возвращает
arrayof events => callbacks.
Реализация
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-BlowfishAuthenticate.html