Spec-Zone.ru › CakePHP 4.2

Класс 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

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

  • $_configInitialized protected
    bool

    Указание того, была ли конфигурация уже настроена по умолчанию

  • $_defaultConfig protected
    array

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

  • $_needsPasswordRehash protected
    bool

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

  • $_passwordHasher protected
    Cake\Auth\AbstractPasswordHasher|null

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

  • $_registry protected
    Cake\Controller\ComponentRegistry

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

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|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(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

  • getConfig() public

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

  • getConfigOrFail() public

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

  • getTableLocator() public

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

  • getUser() public

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

  • implementedEvents() public

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

  • needsPasswordRehash() public

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

  • passwordHasher() public

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

  • setConfig() public

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

  • setTableLocator() public

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

  • unauthenticated() public

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

END_OF_DOCUMENT_MARKER

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

__construct() public

__construct(Cake\Controller\ComponentRegistry $registry, array $config = [])

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry

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

array $config optional

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

_checkFields() protected

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

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

Параметры

Cake\Http\ServerRequest $request

Запрос, содержащий информацию для входа.

array $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(string|array $key, mixed $value, bool|string $merge = false): void

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

Параметры

string|array $key

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

mixed $value

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

bool|string $merge optional

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

Возвращает

void

Выбрасывает

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

_findUser() protected

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

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

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

Параметры

string $username

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

string|null $password optional

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

Возвращает

array|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|false

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

Параметры

Cake\Http\ServerRequest $request

Запрос, содержащий информацию для входа.

Cake\Http\Response $response

Неиспользуемый объект ответа.

Возвращает

array|false

configShallow() public

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

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

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

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

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

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

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

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

Параметры

string|array $key

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

mixed|null $value optional

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

Возвращает

$this

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|false

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

Параметры

Cake\Http\ServerRequest $request

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

Возвращает

array|false

implementedEvents() public

implementedEvents(): array

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

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

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

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

Возвращает

array

needsPasswordRehash() public

needsPasswordRehash(): bool

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

Возвращает

bool

passwordHasher() public

passwordHasher(): Cake\Auth\AbstractPasswordHasher

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

Возвращает

Cake\Auth\AbstractPasswordHasher

Выбрасывает

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

setConfig() public

setConfig(string|array $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']);

Параметры

string|array $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

$_configInitialized protected

Указывает, была ли свойство config уже настроена с помощью значений по умолчанию

Тип

bool

$_defaultConfig protected

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

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

Тип

array

$_needsPasswordRehash protected

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

Тип

bool

$_passwordHasher protected

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

Тип

Cake\Auth\AbstractPasswordHasher|null

$_registry protected

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

Тип

Cake\Controller\ComponentRegistry

$_tableLocator protected

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

Тип

Cake\ORM\Locator\LocatorInterface|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.2/class-Cake.Auth.FormAuthenticate.html

Spec-Zone.ru

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