Класс BasicAuthenticate
Адаптер базовой аутентификации для AuthComponent.
Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет проверять пользователей против настроенной модели пользователей и сравнивать имя пользователя и пароль.
Использование Basic аутентификации
В массиве компонентов вашего контроллера добавьте auth и необходимые настройки.
public $components = array(
'Auth' => array(
'authenticate' => array('Basic')
)
); Также необходимо установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего AppController, чтобы предотвратить отправку CakePHP куки сессии клиенту.
Поскольку HTTP базовая аутентификация является бессостоятельной, вам не нужен action login() в вашем контроллере. Данные учётных данных пользователя будут проверяться при каждом запросе. Если корректные данные не предоставлены, этот провайдер аутентификации отправит необходимые заголовки аутентификации, что запустит диалог входа в браузере/клиенте.
Также можно использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию, неавторизованные пользователи перенаправляются на URL referrer, 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Конструктор, завершает настройку для базовой аутентификации.
- authenticate() public
Аутентификация пользователя с использованием HTTP-аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с использованием HTTP-аутентификации.
- getUser() publicПолучить пользователя на основе информации в запросе. Используется бесклеточной аутентификацией для бессостоятельных клиентов.
- loginHeaders() publicСгенерировать заголовки входа
- unauthenticated() publicОбрабатывает попытку доступа без аутентификации, отправляя соответствующие заголовки входа
Подробное описание методов
__construct()source public
__construct( ComponentCollection $collection , array $settings )
Конструктор, завершает настройку для базовой аутентификации.
Параметры
-
ComponentCollection$collection - Коллекция компонентов, используемая в этом запросе.
- массив
$settings - Массив настроек.
Переопределяет
BaseAuthenticate::__construct() authenticate()source public
authenticate( CakeRequest $request , CakeResponse $response )
Аутентификация пользователя с использованием HTTP-аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с использованием HTTP-аутентификации.
Параметры
-
CakeRequest$request - Запрос для аутентификации.
-
CakeResponse$response - Ответ для добавления заголовков.
Возвращает
mixedВ случае неудачи – false, в случае успеха – массив данных пользователя.
getUser()source public
getUser( CakeRequest $request )
Получить пользователя на основе информации в запросе. Используется бесклеточной аутентификацией для бессостоятельных клиентов.
Параметры
-
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.
https://api.cakephp.org/2.9/class-BasicAuthenticate.html