Spec-Zone.ru › CakePHP 3.7

Класс BasicAuthenticate

Адаптер базовой аутентификации для AuthComponent.

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

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

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

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

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

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

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

Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\ORM\Locator\LocatorAwareTrait
Extended by 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-аутентификации. Будет использовать настроенную модель пользователя и попытается выполнить вход с использованием HTTP-аутентификации.

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

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

authenticate()source public

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

Аутентификация пользователя с использованием HTTP-аутентификации. Будет использовать настроенную модель пользователя и попытается выполнить вход с использованием 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 )

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

Параметры

строка|массив $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']);

Устаревшее

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

Параметры

строка|массив|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->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
Возвращаемое значение, если ключ не существует.

Возвращает

смешанное
Значение конфигурации при чтении.

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
Значение для установки.
булево $merge необязательно 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.7/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

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