Spec-Zone.ru › CakePHP 3.5

Класс BasicAuthenticate

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

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

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

В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию

public $components = [
     'Auth' => [
         'authenticate' => ['Basic']
     ]
 ];

Вы также должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего AppController, чтобы предотвратить отправку CakePHP куки сессии клиенту.

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

Возможно, вам также потребуется использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес источника, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет выброшено исключение ForbiddenException.

Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
Extended by Cake\Auth\BasicAuthenticate

Непосредственные подклассы

  • Cake\Auth\DigestAuthenticate
Пространство имён: Cake\Auth
Расположение: Auth/BasicAuthenticate.php

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

  • _defaultConfig, _needsPasswordRehash, _passwordHasher, _registry _config, _configInitialized

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

  • 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
Объект запроса.

Возвращает

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

unauthenticated()source public

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

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

Параметры

Cake\Http\ServerRequest $request
Объект запроса.
Cake\Http\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\Query

implementedEvents()source public

implementedEvents( )

Возвращает список всех событий, на которые будет реагировать этот класс аутентификации.

Класс аутентификации может реагировать на следующие события, генерируемые AuthComponent:

  • Auth.afterIdentify - Вызывается после того, как пользователь был идентифицирован с помощью одного из настроенных классов аутентификации. Функция обратного вызова должна иметь подпись, похожую на afterIdentify(Event $event, array $user) когда $user - это запись идентифицированного пользователя.

  • Auth.logout - Вызывается при вызове AuthComponent::logout(). Функция обратного вызова должна иметь подпись, похожую на logout(Event $event, array $user) где $user - это пользователь, который собирается выйти из системы.

Возвращает

массив
Список событий, на которые реагирует этот класс. По умолчанию [].

Реализация

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
При попытке установить недопустимый ключ.

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

Spec-Zone.ru

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