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