Класс BasicAuthenticate
Адаптер базовой аутентификации для AuthComponent.
Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по отношению к настроенной модели userModel и проверять соответствие имени пользователя и паролей.
Использование базовой аутентификации
В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию
public $components = [ 'Auth' => [ 'authenticate' => ['Basic'] ] ];
Вы также должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего контроллера AppController, чтобы предотвратить отправку CakePHP cookie сессии клиенту.
Поскольку HTTP-базовая аутентификация бессостоятельна, вам не нужен действие login() в вашем контроллере. Данные учетных записей пользователей будут проверяться при каждом запросе. Если не предоставлены корректные учетные данные, этот поставщик аутентификации отправит необходимые заголовки аутентификации, что запустит диалог входа в браузере/клиенте.
Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес предыдущего запроса, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет брошено исключение ForbiddenException.
- Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\BasicAuthenticate
Непосредственные известные подклассы
Cake\Auth\DigestAuthenticateПодробное описание методов
authenticatesource public
authenticate( Cake\Network\Request $request , Cake\Network\Response $response )
Аутентификация пользователя с использованием HTTP-аутентификации. Использует настроенную модель пользователя и пытается выполнить вход с использованием HTTP-аутентификации.
Параметры
-
Cake\Network\Request$request - Запрос для аутентификации.
-
Cake\Network\Response$response - Ответ для добавления заголовков.
Возвращаемое значение
mixedВ случае неудачи возвращает false, в случае успеха — массив данных пользователя.
getUsersource public
getUser( Cake\Network\Request $request )
Получение пользователя на основе информации в запросе. Используется для аутентификации без куки для бессостоятельных клиентов.
Параметры
-
Cake\Network\Request$request - Объект запроса.
Возвращаемое значение
mixedВ случае неудачи — false, в случае успеха — массив информации о пользователе.
Переопределяет
Cake\Auth\BaseAuthenticate::getUser() loginHeaderssource public
loginHeaders( Cake\Network\Request $request )
Генерация заголовков входа
Параметры
-
Cake\Network\Request$request - Объект запроса.
Возвращаемое значение
stringЗаголовки для входа.
unauthenticatedsource public
unauthenticated( Cake\Network\Request $request , Cake\Network\Response $response )
Обработка попытки доступа без аутентификации, отправкой соответствующих заголовков входа
Параметры
-
Cake\Network\Request$request - Объект запроса.
-
Cake\Network\Response$response - Объект ответа.
Исключения
Cake\Network\Exception\UnauthorizedException\Cake\Network\Exception\UnauthorizedException
Переопределяет
Cake\Auth\BaseAuthenticate::unauthenticated() Методы, унаследованные от Cake\Auth\BaseAuthenticate
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - Реестр компонентов, используемый в этом запросе.
- массив
$configнеобязательно [] - Массив конфигурации для использования.
_findUsersource protected
_findUser( string $username , string|null $password null )
Поиск записи пользователя с использованием имени пользователя и пароля.
Пароли на входе будут хешироваться, даже если пользователь не существует. Это помогает смягчить атаки по таймингу, пытающиеся найти действительные имена пользователей.
Параметры
- строка
$username - Имя пользователя/идентификатор.
- строка|null
$passwordнеобязательно null - Пароль, если он не предоставлен, проверка пароля пропускается, и возвращается результат поиска.
Возвращаемое значение
boolean|arrayВ случае неудачи — false, в случае успеха — массив данных пользователя.
_querysource protected
_query( string $username )
Получение объекта запроса для извлечения пользователя из базы данных.
Параметры
- строка
$username - Имя пользователя/идентификатор.
Возвращаемое значение
Cake\ORM\Query\Cake\ORM\Query
implementedEventssource public
implementedEvents( )
Возвращает список всех событий, на которые будет подслушивать этот класс аутентификации.
Класс аутентификации может подслушивать следующие события, запускаемые AuthComponent:
-
Auth.afterIdentify— Вызывается после того, как пользователь был идентифицирован с использованием одного из настроенных классов аутентификации. Функция обратного вызова должна иметь сигнатуру, подобнуюafterIdentify(Event $event, array $user), когда$user— идентифицированная запись пользователя. -
Auth.logout— Вызывается при вызовеAuthComponent::logout(). Функция обратного вызова должна иметь сигнатуру, подобнуюlogout(Event $event, array $user), где$user— пользователь, который собирается выйти из системы.
Возвращаемое значение
arrayСписок событий, на которые этот класс подписывается. По умолчанию —
[].Реализация
Cake\Event\EventListenerInterface::implementedEvents() needsPasswordRehashsource public
needsPasswordRehash( )
Возвращает, требует ли пароль, хранящийся в репозитории для вошедшего пользователя, повторного хеширования с использованием другого алгоритма.
Возвращаемое значение
booleanbool
passwordHashersource public
passwordHasher( )
Возвращение объекта хешера паролей
Возвращаемое значение
Cake\Auth\AbstractPasswordHasherЭкземпляр хешера паролей
Исключения
RuntimeExceptionЕсли класс хешера паролей не найден или он не расширяет AbstractPasswordHasher
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удаление отдельного ключа конфигурации
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configReadsource protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращаемое значение
mixedсмешанное
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию — false.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
configsource 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 - Флаг рекурсивного слияния или перезаписи существующего конфига, по умолчанию true.
Возвращаемое значение
mixedЗначение конфига, которое было прочитано, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
configShallowsource 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 - Значение для установки.
Возвращаемое значение
mixed$this Объект.
Свойства, унаследованные от Cake\Auth\BaseAuthenticate
$_defaultConfigsource
protected array
Настройки по умолчанию для этого объекта.
-
fieldsПоля для идентификации пользователя. -
userModelПсевдоним таблицы пользователей, по умолчанию Users. -
finderМетод поиска для извлечения записи пользователя. По умолчанию 'all'. -
passwordHasherКласс хеширования паролей. Может быть строкой, указывающей имя класса, или массивом, содержащимclassNameключ, все остальные ключи будут переданы как конфигурация в класс. По умолчанию 'Default'. - Параметры
scopeиcontainустарели начиная с 3.1. Используйте custom finder для изменения запроса извлечения записи пользователя.
[
'fields' => [
'username' => 'username',
'password' => 'password'
],
'userModel' => 'Users',
'scope' => [],
'finder' => 'all',
'contain' => null,
'passwordHasher' => 'Default'
] $_needsPasswordRehashsource
protected boolean
Требуется ли перехеширование пароля пользователя, аутентифицированного этим классом, с помощью другого алгоритма.
false $_registrysource
protected Cake\Controller\ComponentRegistry
Регистр компонентов, используемый для получения других компонентов.
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Флаг, указывающий, была ли конфигурация уже настроена по умолчанию
false
© 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.1/class-Cake.Auth.BasicAuthenticate.html