Класс BasicAuthenticate
Адаптер базовой аутентификации для AuthComponent.
Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и паролей.
Использование базовой аутентификации
В массиве компонентов вашего контроллера добавьте auth и необходимые настройки.
public $components = array( 'Auth' => array( 'authenticate' => array('Basic') ) );
Также необходимо установить AuthComponent::$sessionKey = false; в вашем AppController's beforeFilter() для предотвращения отправки CakePHP куки сессии клиенту.
Поскольку HTTP базовая аутентификация бессостоятельна, вам не нужен action login() в вашем контроллере. Данные учетных данных пользователя будут проверяться при каждом запросе. Если не предоставлены действительные учетные данные, этот поставщик аутентификации отправит необходимые заголовки аутентификации, которые вызовут диалог входа в браузере/клиенте.
Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес ссылки, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.
- BaseAuthenticate реализует CakeEventListener
-
BasicAuthenticate
Прямые известные подклассы
DigestAuthenticateАвторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С версии: 2.0
Расположение: Cake/Controller/Component/Auth/BasicAuthenticate.php
Подробное описание методов
__constructsource public
__construct( ComponentCollection $collection , array $settings )
Конструктор, завершает настройку для базовой аутентификации.
Параметры
-
ComponentCollection$collection - Коллекция компонентов, используемая в этом запросе.
- массив
$settings - Массив настроек.
Переопределяет
BaseAuthenticate::__construct() authenticatesource public
authenticate( CakeRequest $request , CakeResponse $response )
Аутентифицирует пользователя с использованием HTTP-аутентификации. Использует настроенную модель User и пытается выполнить вход с использованием HTTP-аутентификации.
Параметры
-
CakeRequest$request - Запрос для аутентификации.
-
CakeResponse$response - Ответ для добавления заголовков.
Возвращает
mixedВ случае неудачи возвращает false, в случае успеха - массив данных пользователя.
getUsersource public
getUser( CakeRequest $request )
Получение пользователя на основе информации в запросе. Используется для бесклиентской аутентификации для бессостоятельных клиентов.
Параметры
-
CakeRequest$request - Объект запроса.
Возвращает
mixedВ случае неудачи false, в случае успеха - массив информации о пользователе.
Переопределяет
BaseAuthenticate::getUser() loginHeaderssource public
loginHeaders( )
Генерация заголовков входа.
Возвращает
stringЗаголовки для входа.
unauthenticatedsource public
unauthenticated( CakeRequest $request , CakeResponse $response )
Обработка неудачной попытки доступа без аутентификации, отправкой соответствующих заголовков входа.
Параметры
-
CakeRequest$request - Объект запроса.
-
CakeResponse$response - Объект ответа.
Исключения
UnauthorizedExceptionUnauthorizedException
Переопределяет
BaseAuthenticate::unauthenticated() Методы, унаследованные от BaseAuthenticate
_findUsersource protected
_findUser( string|array $username , string $password null )
Поиск записи пользователя с использованием стандартных параметров.
Параметр $username может быть (строкой)именем пользователя или массивом, содержащим условия для Model::find('first'). Если параметр $password не указан, поле password будет присутствовать в возвращаемом массиве.
Вводимые пароли будут хэшированы, даже если пользователь не существует. Это помогает смягчить атаки по времени, которые пытаются найти допустимые имена пользователей.
Параметры
- строка|массив
$username - Имя пользователя/идентификатор или массив условий поиска.
- строка
$passwordнеобязательно null - Пароль, используется только если параметр $username является строкой.
Возвращает
boolean|arrayВ случае неудачи возвращает false, в случае успеха - массив данных пользователя.
_passwordsource protected
_password( string $password )
Хеширует простой текст пароля, чтобы он соответствовал хэшированному/зашифрованному паролю в источнике данных.
Устарело
3.0.0 С версии 2.4. Используйте класс PasswordHasher вместо этого.Параметры
- строка
$password - Пароль в простом тексте.
Возвращает
stringХешированная форма пароля.
implementedEventssource public
implementedEvents( )
Реализованные события
Возвращает
arrayсписок событий => обработчиков.
Реализация
CakeEventListener::implementedEvents() logoutsource public
logout( array $user )
Позволяет подключиться к AuthComponent::logout() и реализовать специализированное поведение выхода.
У всех подключенных объектов аутентификации будет вызван этот метод при выходе пользователя.
Параметры
- массив
$user - Пользователь, который собирается выйти.
passwordHashersource public
passwordHasher( )
Возвращение объекта хеширования паролей.
Возвращает
AbstractPasswordHasherЭкземпляр хеширования паролей
Исключения
CakeExceptionЕсли класс хеширования паролей не найден или он не расширяет AbstractPasswordHasher
Свойства, унаследованные от 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-BasicAuthenticate.html