Класс BasicAuthenticate
Адаптер базовой аутентификации для AuthComponent.
Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по настроенной модели пользователя и проверять соответствие имени пользователя и паролей.
Использование Basic аутентификации
В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию
public $components = [
'Auth' => [
'authenticate' => ['Basic']
]
]; Вы также должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего AppController, чтобы предотвратить отправку CakePHP куки сессии клиенту.
Поскольку HTTP-базовая аутентификация бессостоятельна, вам не нужен действие login() в вашем контроллере. Кредиты пользователя будут проверяться при каждом запросе. Если действительные учетные данные не предоставлены, этот поставщик аутентификации отправит необходимые заголовки аутентификации, которые вызовут диалог входа в браузере/клиенте.
Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес предыдущего запроса, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\BasicAuthenticate
Непосредственные подклассы
Унаследованные свойства
Краткое описание методов
- authenticate() public
Аутентификация пользователя с использованием HTTP-аутентификации. Будет использовать настроенную модель пользователя и попытается выполнить вход с помощью HTTP-аутентификации.
- getUser() publicПолучение пользователя на основе информации в запросе. Используется для аутентификации без файлов cookie для бессостоятельных клиентов.
- loginHeaders() publicГенерация заголовков входа
- unauthenticated() publicОбработка неудачной попытки доступа без аутентификации, отправкой соответствующих заголовков входа
Подробное описание методов
authenticate()source public
authenticate( Cake\Network\Request $request , Cake\Network\Response $response )
Аутентификация пользователя с использованием HTTP-аутентификации. Будет использовать настроенную модель пользователя и попытается выполнить вход с помощью HTTP-аутентификации.
Параметры
-
Cake\Network\Request$request - Запрос для аутентификации.
-
Cake\Network\Response$response - Ответ для добавления заголовков.
Возвращает
mixedВ случае неудачи возвращает false, в случае успеха — массив данных пользователя.
getUser()source public
getUser( Cake\Network\Request $request )
Получение пользователя на основе информации в запросе. Используется для аутентификации без файлов cookie для бессостоятельных клиентов.
Параметры
-
Cake\Network\Request$request - Объект запроса.
Возвращает
mixedВ случае неудачи возвращает false, в случае успеха — массив информации о пользователе.
Переопределяет
Cake\Auth\BaseAuthenticate::getUser() loginHeaders()source public
loginHeaders( Cake\Network\Request $request )
Генерирует заголовки входа
Параметры
-
Cake\Network\Request$request - Объект запроса.
Возвращает
stringЗаголовки для входа.
unauthenticated()source public
unauthenticated( Cake\Network\Request $request , Cake\Network\Response $response )
Обработка неудачной попытки доступа без аутентификации, отправкой соответствующих заголовков входа
Параметры
-
Cake\Network\Request$request - Объект запроса.
-
Cake\Network\Response$response - Объект ответа.
Выбрасывает
Cake\Network\Exception\UnauthorizedExceptionПереопределяет
Cake\Auth\BaseAuthenticate::unauthenticated() Методы, унаследованные от Cake\Auth\BaseAuthenticate
__construct()source public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - Регистр компонентов, используемый в этом запросе.
- массив
$configопционально [] - Массив конфигурации для использования.
_findUser()source protected
_findUser( string $username , string|null $password null )
Поиск записи пользователя по имени пользователя и паролю.
Вводимые пароли будут хешированы, даже если пользователя не существует. Это помогает смягчить атаки по таймингу, которые пытаются найти валидные имена пользователей.
Параметры
- строка
$username - Имя пользователя/идентификатор.
- строка|null
$passwordопционально null Пароль. Если не указан, проверка пароля пропускается, и возвращается результат поиска.
Возвращает
boolean|arrayВ случае неудачи возвращает false, в случае успеха — массив данных пользователя.
_query()source protected
_query( string $username )
Получение объекта запроса для извлечения пользователя из базы данных.
Параметры
- строка
$username - Имя пользователя/идентификатор.
Возвращает
Cake\ORM\QueryimplementedEvents()source public
implementedEvents( )
Возвращает список всех событий, на которые будет подписываться этот класс аутентификации.
Класс аутентификации может подписываться на следующие события, генерируемые AuthComponent:
Auth.afterIdentify- Срабатывает после того, как пользователь был идентифицирован с использованием одного из настроенных классов аутентификации. Функция обратного вызова должна иметь подпись, похожую наafterIdentify(Event $event, array $user), когда$user— это идентифицированная запись пользователя.Auth.logout- Срабатывает при вызове AuthComponent::logout(). Функция обратного вызова должна иметь подпись, похожую наlogout(Event $event, array $user), где$user— пользователь, который собирается выйти.
Возвращает
массивСписок событий, на которые подписывается этот класс. По умолчанию
[].Реализация
Cake\Event\EventListenerInterface::implementedEvents() needsPasswordRehash()source public
needsPasswordRehash( )
Возвращает значение, указывающее, требует ли пароль, хранящийся в репозитории для вошедшего пользователя, повторного хеширования с помощью другого алгоритма
Возвращает
booleanpasswordHasher()source public
passwordHasher( )
Возвращает объект хеширования паролей
Возвращает
Cake\Auth\AbstractPasswordHasherЭкземпляр хеширования паролей
Выбрасывает
RuntimeExceptionЕсли класс хеширования паролей не найден или он не наследует от AbstractPasswordHasher
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаление одного ключа конфигурации
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- логическое значение|строка
$mergeнеобязательно false Истинное значение для рекурсивного слияния, 'shallow' для простого слияния, ложное для перезаписи, по умолчанию ложно.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
config()source public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- логическое значение
$mergeнеобязательно true - Признак рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию истинно.
Возвращает
смешанныйЗначение конфигурации, которое читается, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )
Слияние предоставленной конфигурации с существующей. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this Сам объект.
© 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/3.2/class-Cake.Auth.BasicAuthenticate.html