Класс BasicAuthenticate
Адаптер базовой аутентификации для компонента Auth.
Обеспечивает поддержку базовой HTTP-аутентификации для компонента Auth. Базовая аутентификация будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и паролей.
Использование Basic auth
В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию
public $components = [
'Auth' => [
'authenticate' => ['Basic']
]
]; Также вы должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего контроллера AppController, чтобы предотвратить отправку куки сессии CakePHP клиенту.
Поскольку HTTP Basic аутентификация бессостоятельна, вам не нужен действие login() в вашем контроллере. Кредиты пользователей будут проверяться при каждом запросе. Если действительные учетные данные не предоставлены, этот поставщик аутентификации отправит необходимые заголовки аутентификации, которые вызовут диалог входа в браузере/клиенте.
Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL ссылки referer, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\BasicAuthenticate
Непосредственные подклассы
Унаследованные свойства
Краткое описание методов
- authenticate() public
Аутентификация пользователя с помощью HTTP аутентификации. Будет использовать настроенную модель пользователя и попытаться выполнить вход с помощью HTTP аутентификации.
- getUser() publicПолучение пользователя на основе информации в запросе. Используется для аутентификации без куки для бессостоятельных клиентов.
- 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 )
Получение пользователя на основе информации в запросе. Используется для аутентификации без куки для бессостоятельных клиентов.
Параметры
-
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( )
Возвращает список всех событий, за которыми будет следить этот класс аутентификации.
Класс аутентификации может следить за следующими событиями, которые генерирует компонент Auth:
Auth.afterIdentify- Срабатывает после идентификации пользователя с помощью одного из настроенных классов аутентификации. Функция обратного вызова должна иметь сигнатуру, такую какafterIdentify(Event $event, array $user), когда$user- это идентифицированная запись пользователя.Auth.logout- Срабатывает при вызовеAuthComponent::logout(). Функция обратного вызова должна иметь сигнатуру, такую какlogout(Event $event, array $user), где$user- пользователь, который собирается выйти из системы.
Возвращает
arrayСписок событий, за которыми следит этот класс. По умолчанию
[].Реализация
Cake\Event\EventListenerInterface::implementedEvents() needsPasswordRehash()source public
needsPasswordRehash( )
Возвращает true, если пароль, хранящийся в хранилище для вошедшего пользователя, требуется перехешировать с помощью другого алгоритма
Возвращает
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 )
Запись переменной конфигурации
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию истинно.
Возвращает
mixedЗначение конфигурации, которое читается, или сам объект при операциях записи.
Исключения
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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this Сам объект.
© 2005–2017 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/3.3/class-Cake.Auth.BasicAuthenticate.html