Spec-Zone.ru › CakePHP 3.8

Класс BasicAuthenticate

Адаптер аутентификации Basic для AuthComponent.

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

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

Загрузите 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 auth. Использует настроенную модель пользователя и пытается выполнить вход с помощью HTTP auth.

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

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

authenticate()source public

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

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

Параметры

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

Возвращает true, если пароль, хранящийся в хранилище для авторизованного пользователя, требует повторного хэширования другим алгоритмом.

Возвращает

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 )

Записывает ключ конфигурации.

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
boolean|строка $merge необязательно false

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

Исключения

Cake\Core\Exception\Exception
если попытка перезаписи существующей конфигурации

config()source public deprecated

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() вместо этого.

Параметры

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

Возвращает

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

Исключения

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

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|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');

Параметры

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

Возвращает

смешанный
Данные конфигурации по указанному ключу или null, если ключ не существует.

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

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|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 deprecated

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.8/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

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