Spec-Zone.ru › CakePHP 4.3

Класс FormAuthenticate

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

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

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

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

$this->loadComponent('Auth', [
    'authenticate' => [
        'Form' => [
            'fields' => ['username' => 'email', 'password' => 'passwd'],
            'finder' => 'auth',
        ]
    ]
]);

При настройке FormAuthenticate вы можете передать конфигурацию, в которой указаны поля, модель и поиск. Подробнее см. BaseAuthenticate::$_defaultConfig.

Пространство имен: Cake\Auth
См.: https://book.cakephp.org/4/ru/controllers/components/authentication.html

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

  • $_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

    Конструктор

  • _checkFields() protected

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

  • _configDelete() protected

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

  • _configRead() protected

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

  • _configWrite() protected

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

  • _findUser() protected

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

  • _query() protected

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

  • authenticate() public

    Проверяет подлинность личности, содержащейся в запросе. Будет использовать config.userModel, и config.fields для поиска данных POST, которые используются для поиска соответствующей записи в config.userModel. Вернет false, если нет данных POST, отсутствует имя пользователя или пароль или условия области не выполнены.

  • configShallow() public

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

  • fetchTable() public

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

  • getConfig() public

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

  • getConfigOrFail() public

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

  • getTableLocator() public

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

  • getUser() public

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

  • implementedEvents() public

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

  • needsPasswordRehash() public

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

  • passwordHasher() public

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

  • setConfig() public

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

  • setTableLocator() public

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

  • unauthenticated() public

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

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

__construct() public

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

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry

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

array<string, mixed> $config optional

Массив конфигурации.

_checkFields() protected

_checkFields(Cake\Http\ServerRequest $request, array<string, string> $fields): bool

Проверяет поля на наличие.

Параметры

Cake\Http\ServerRequest $request

Запрос, содержащий информацию об авторизации.

array<string, string> $fields

Поля для проверки.

Возвращает

bool

_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

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

Возвращает

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

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

Авторизует идентификатор, содержащийся в запросе. Будет использовать config.userModel, и config.fields для поиска данных POST, которые используются для поиска совпадающей записи в config.userModel. Вернёт false, если данные POST отсутствуют, имя пользователя или пароль отсутствуют, или условия области не выполнены.

Параметры

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>

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

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

  • 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 optional

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

bool $merge optional

Признак рекурсивного слияния или перезаписи существующей конфигурации. По умолчанию 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 - Нет действий, AuthComponent должен вернуть соответствующий ответ.
  • \Cake\Http\Response - Объект ответа, который заставит AuthComponent просто вернуть этот ответ.

Параметры

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.FormAuthenticate.html

Spec-Zone.ru

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