Spec-Zone.ru › CakePHP 3.6

Класс BasicAuthenticate

Адаптер Basic Authentication для AuthComponent.

Обеспечивает поддержку Basic HTTP аутентификации для AuthComponent. Basic Auth будет аутентифицировать пользователей по настроенной модели userModel и проверять соответствие имени пользователя и пароля.

Использование Basic аутентификации

Загрузите AuthComponent в initialize() вашего контроллера и добавьте 'Basic' в ключ 'authenticate'

$this->loadComponent('Auth', [
     'authenticate' => ['Basic']
     'storage' => 'Memory',
     'unauthorizedRedirect' => false,
 ]);

Вы должны установить storage в Memory, чтобы предотвратить CakePHP от отправки куки сессии клиенту.

Вы должны установить unauthorizedRedirect в false. Это заставляет AuthComponent генерировать исключение ForbiddenException вместо перенаправления на другую страницу.

Поскольку HTTP Basic Authentication бессостоятельна, вам не нужно вызывать setUser() в вашем контроллере. Данные учетных данных пользователя будут проверяться при каждом запросе. Если не предоставлены корректные учетные данные, этот провайдер аутентификации отправит необходимые заголовки аутентификации, что вызовет диалог входа в браузере/клиенте.

Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\ORM\Locator\LocatorAwareTrait
Расширяется Cake\Auth\BasicAuthenticate

Прямые подклассы

  • Cake\Auth\DigestAuthenticate
Пространство имен: Cake\Auth
См.: https://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположение: Auth/BasicAuthenticate.php

Унаследованные свойства

  • _defaultConfig, _needsPasswordRehash, _passwordHasher, _registry _config, _configInitialized _tableLocator

Краткое описание методов

  • authenticate() public

    Аутентификация пользователя с использованием HTTP аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с использованием HTTP аутентификации.

  • getUser() public
    Получение пользователя на основе информации в запросе. Используется для бескуки аутентификации для бессостоятельных клиентов.
  • loginHeaders() public
    Генерация заголовков входа
  • unauthenticated() public
    Обработка неудачной аутентификации, отправляя соответствующие заголовки входа

Подробное описание методов

authenticate()source public

authenticate( Cake\Http\ServerRequest $request , Cake\Http\Response $response )

Аутентификация пользователя с использованием HTTP аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с использованием HTTP аутентификации.

Параметры

Cake\Http\ServerRequest $request
Запрос для аутентификации.
Cake\Http\Response $response
Ответ, к которому будут добавлены заголовки.

Возвращает

mixed
В случае неудачи возвращает false, в случае успеха - массив данных пользователя.

getUser()source public

getUser( Cake\Http\ServerRequest $request )

Получение пользователя на основе информации в запросе. Используется для бескуки аутентификации для бессостоятельных клиентов.

Параметры

Cake\Http\ServerRequest $request
Объект запроса.

Возвращает

mixed
В случае неудачи возвращает false, в случае успеха - массив информации о пользователе.

Переопределяет

Cake\Auth\BaseAuthenticate::getUser()

loginHeaders()source public

loginHeaders( Cake\Http\ServerRequest $request )

Генерация заголовков входа

Параметры

Cake\Http\ServerRequest $request
Объект запроса.

Возвращает

array
Заголовки для входа.

unauthenticated()source public

unauthenticated( Cake\Http\ServerRequest $request , Cake\Http\Response $response )

Обработка неудачной аутентификации, отправляя соответствующие заголовки входа

Параметры

Cake\Http\ServerRequest $request
Объект запроса.
Cake\Http\Response $response
Объект ответа.

Выбрасывает

Cake\Http\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\Query

implementedEvents()source 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()

needsPasswordRehash()source public

needsPasswordRehash( )

Возвращает значение, указывающее, требуется ли перехеширование пароля, хранящегося в репозитории, для вошедшего пользователя, с использованием другого алгоритма.

Возвращает

boolean

passwordHasher()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

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Исключения

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']);

Устаревшее

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

string|array|null $key необязательный null
Ключ для получения/установки или полный массив конфигураций.
mixed|null $value необязательный null
Значение для установки.
boolean $merge необязательный true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

mixed
Значение конфигурации, которое читается, или сам объект при операциях записи.

Исключения

Cake\Core\Exception\Exception
При попытке установить недопустимый ключ.

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которое выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|null $value необязательный null
Значение для установки.

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key необязательный null
Ключ для получения или null для всей конфигурации.
mixed $default необязательный null
Значение, возвращаемое, когда ключ не существует.

Возвращает

mixed
Значение конфигурации для чтения.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|null $value необязательный null
Значение для установки.
boolean $merge необязательный true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает


$this

Исключения

Cake\Core\Exception\Exception
При попытке установить недопустимый ключ.

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

getTableLocator()source public

getTableLocator( )

Получает локатор таблиц.

Возвращает

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )

Устанавливает локатор таблиц.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator
Экземпляр LocatorInterface.

Возвращает


$this

tableLocator()source public устаревшее

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )

Устанавливает локатор таблиц. Если параметры не переданы, он вернет текущий используемый локатор.

Устаревшее

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательный null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

© 2005–present 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.6/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API