Spec-Zone.ru › CakePHP 4.3

Класс BaseAuthenticate

Базовый класс аутентификации с общими методами и свойствами.

Абстрактный
Пространство имен: Cake\Auth

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

  • $_config protected
    array<string, mixed>

    Конфигурация выполнения

  • $_configInitialized protected
    bool

    Установлено ли значение свойства config по умолчанию?

  • $_defaultConfig protected
    array<string, mixed>

    Конфигурация по умолчанию для этого объекта.

  • $_needsPasswordRehash protected
    bool

    Требуется ли повторное хеширование пароля аутентифицированного пользователя с помощью другого алгоритма.

  • $_passwordHasher protected
    Cake\Auth\AbstractPasswordHasher|null

    Экземпляр хешера паролей.

  • $_registry protected
    Cake\Controller\ComponentRegistry

    Регистр компонентов, используемый для получения дополнительных компонентов.

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    Экземпляр локализации таблиц.

  • $defaultTable protected
    string|null

    Псевдоним таблицы по умолчанию для этого объекта.

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

  • __construct() public

    Конструктор

  • _configDelete() protected

    Удаляет отдельный ключ конфигурации.

  • _configRead() protected

    Читает ключ конфигурации.

  • _configWrite() protected

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

  • _findUser() protected

    Ищет запись пользователя по имени пользователя и паролю.

  • _query() protected

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

  • authenticate() abstract public

    Аутентифицирует пользователя на основе информации запроса.

  • configShallow() public

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

  • fetchTable() public

    Удобный метод для получения экземпляра таблицы.

  • getConfig() public

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

  • getConfigOrFail() public

    Возвращает конфигурацию для определенного ключа.

  • getTableLocator() public

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

  • getUser() public

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

  • implementedEvents() public

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

  • needsPasswordRehash() public

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

  • passwordHasher() public

    Возвращает объект хеширования паролей.

  • setConfig() public

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

  • setTableLocator() public

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

  • unauthenticated() public

    Обрабатывает попытки доступа без аутентификации. В реализации допустимые возвращаемые значения могут быть:

Метод Detail

__construct() public

__construct(Cake\Controller\ComponentRegistry $registry, array<string, mixed> $config = [])

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry

Регистр компонентов, используемый в этом запросе.

array<string, mixed> $config optional

Массив конфигурации для использования.

_configDelete() protected

_configDelete(string $key): void

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

Параметры

string $key

Ключ для удаления.

Возвращает

void

Выбрасывает

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

_configRead() protected

_configRead(string|null $key): mixed

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

Параметры

string|null $key

Ключ для чтения.

Возвращает

mixed

_configWrite() protected

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

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

Параметры

array<string, mixed>|string $key

Ключ для записи.

mixed $value

Значение для записи.

string|bool $merge optional

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

Возвращает

void

Выбрасывает

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

_findUser() protected

_findUser(string $username, string|null $password = null): array<string, mixed>|false

Находит запись пользователя по введённому имени пользователя и паролю.

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

Параметры

string $username

Имя пользователя/идентификатор.

string|null $password optional

Пароль. Если не указан, проверка пароля пропускается, и возвращается результат поиска.

Возвращает

array<string, mixed>|false

_query() protected

_query(string $username): Cake\ORM\Query

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

Параметры

string $username

Имя пользователя/идентификатор.

Возвращает

Cake\ORM\Query

authenticate() abstract public

authenticate(Cake\Http\ServerRequest $request, Cake\Http\Response $response): array<string, mixed>|false

Проверка подлинности пользователя на основе информации запроса.

Параметры

Cake\Http\ServerRequest $request

Запрос для получения информации об авторизации.

Cake\Http\Response $response

Объект ответа, которому можно добавить заголовки.

Возвращает

array<string, mixed>|false

configShallow() public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

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

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

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

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

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

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

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

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигурации.

mixed|null $value optional

Значение для установки.

Возвращает

$this

fetchTable() public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

Удобный метод для получения экземпляра таблицы.

Параметры

string|null $alias optional

Имя псевдонима для получения. Должно быть в формате CamelCase. Если null, используется значение свойства $defaultTable.

array<string, mixed> $options optional

Параметры для создания таблицы. Если таблица уже загружена, параметры реестра будут проигнорированы.

Возвращает

Cake\ORM\Table

Выбрасывает

Cake\Core\Exception\CakeException
Если аргумент `$alias` и свойство `$defaultTable` оба равны `null`.

См. также

\Cake\ORM\TableLocator::get()

getConfig() public

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

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

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

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

$this->getConfig();

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

$this->getConfig('key');

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

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

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

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

Параметры

string|null $key optional

Ключ для получения или null для всей конфигурации.

mixed $default optional

Возвращаемое значение, когда ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

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

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Выбрасывает

InvalidArgumentException

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

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

Возвращает

Cake\ORM\Locator\LocatorInterface

getUser() public

getUser(Cake\Http\ServerRequest $request): array<string, mixed>|false

Получение пользователя на основе информации в запросе. В основном используется системами аутентификации без состояния, такими как basic и digest auth.

Параметры

Cake\Http\ServerRequest $request

Объект запроса.

Возвращает

array<string, mixed>|false

implementedEvents() public

implementedEvents(): array<string, mixed>

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

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

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

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

Возвращает

array<string, mixed>

needsPasswordRehash() public

needsPasswordRehash(): bool

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

Возвращает

bool

passwordHasher() public

passwordHasher(): Cake\Auth\AbstractPasswordHasher

Возвращает объект хэширования паролей.

Возвращает

Cake\Auth\AbstractPasswordHasher

Выбрасывает

RuntimeException
Если класс хэширования паролей не найден или не расширяет AbstractPasswordHasher

setConfig() public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

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

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

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

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

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

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

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

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

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигурации.

mixed|null $value необязательно

Значение для установки.

bool $merge необязательно

Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

$this

Исключения

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

setTableLocator() public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

Экземпляр LocatorInterface.

Возвращает

$this

unauthenticated() public

unauthenticated(Cake\Http\ServerRequest $request, Cake\Http\Response $response): Cake\Http\Response|null|void

Обработка попытки неавторизованного доступа. В реализации допустимы следующие возвращаемые значения:

  • Null - Действие не выполняется, компонент Auth должен вернуть соответствующий ответ.
  • \Cake\Http\Response - Объект ответа, в этом случае компонент Auth просто вернёт этот ответ.

Параметры

Cake\Http\ServerRequest $request

Объект запроса.

Cake\Http\Response $response

Объект ответа.

Возвращает

Cake\Http\Response|null|void

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

$_config protected

Конфигурация во время выполнения

Тип

array<string, mixed>

$_configInitialized protected

Установлена ли конфигурация с настройками по умолчанию

Тип

bool

$_defaultConfig protected

Настройки по умолчанию для этого объекта.

  • fields Поля, используемые для идентификации пользователя.
  • userModel Псевдоним таблицы пользователей, по умолчанию Users.
  • finder Метод поиска для извлечения записи пользователя. По умолчанию 'all'. Можно задать имя метода поиска как строку или массив, где ключ — имя метода поиска, а значение — массив, передаваемый в Table::find() параметры. Например, ['finderName' => ['some_finder_option' => 'some_value']]
  • passwordHasher Класс хэширования паролей. Может быть строкой, указывающей имя класса, или массивом, содержащим className ключ, все остальные ключи будут переданы в качестве конфигурации классу. По умолчанию 'Default'.

Тип

array<string, mixed>

$_needsPasswordRehash protected

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

Тип

bool

$_passwordHasher protected

Экземпляр хэшера паролей.

Тип

Cake\Auth\AbstractPasswordHasher|null

$_registry protected

Регистр компонентов, используемый для получения других компонентов.

Тип

Cake\Controller\ComponentRegistry

$_tableLocator protected

Экземпляр локатора таблиц

Тип

Cake\ORM\Locator\LocatorInterface|null

$defaultTable protected

Псевдоним таблицы по умолчанию для этого объекта.

Тип

string|null

© 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/4.3/class-Cake.Auth.BaseAuthenticate.html

Spec-Zone.ru

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