Spec-Zone.ru › CakePHP 3.8

Класс 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\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\ORM\Locator\LocatorAwareTrait
Расширенный Cake\Auth\FormAuthenticate
Пространство имён: Cake\Auth
См.: https://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположение: Auth/FormAuthenticate.php

Наследуемые свойства

  • _defaultConfig, _needsPasswordRehash, _passwordHasher, _registry _config, _configInitialized _tableLocator

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

  • _checkFields() protected
    Проверяет поля на наличие.
  • authenticate() public

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

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

_checkFields()source protected

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

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

Параметры

Cake\Http\ServerRequest $request
Запрос, содержащий информацию для входа.
массив $fields
Поля для проверки.

Возвращаемое значение

boolean
False, если поля не указаны. True, если они существуют.

authenticate()source public

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

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

Параметры

Cake\Http\ServerRequest $request
Запрос, содержащий информацию для входа.
Cake\Http\Response $response
Неиспользуемый объект ответа.

Возвращаемое значение

mixed
False при неудачной попытке входа. Массив данных пользователя при успехе.

Методы, унаследованные от 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

getUser()source public

getUser( Cake\Http\ServerRequest $request )

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

Параметры

Cake\Http\ServerRequest $request
Объект запроса.

Возвращаемое значение

mixed
Либо false, либо массив информации о пользователе

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

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

Возвращаемое значение

boolean

passwordHasher()source public

passwordHasher( )

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

Возвращаемое значение

Cake\Auth\AbstractPasswordHasher
Экземпляр хешера паролей

Исключения

RuntimeException

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


unauthenticated()source public

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

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

  • Null — Без действий, AuthComponent должен вернуть соответствующий ответ.
  • Cake\Http\Response — Объект ответа, который заставит AuthComponent просто вернуть этот ответ.

Параметры

Cake\Http\ServerRequest $request
Объект запроса.
Cake\Http\Response $response
Объект ответа.

Методы, используемые из 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

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

Исключения

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
Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию 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
Значение по умолчанию, если ключ не существует.

Возвращает

смешанный
Данные конфигурации по указанному ключу или 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
Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию 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.8/class-Cake.Auth.FormAuthenticate.html

Spec-Zone.ru

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