Spec-Zone.ru › CakePHP 3.7

Класс FormAuthenticate

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

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

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

Загрузите 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
Extended by 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|массив
False при ошибке, или массив данных пользователя.

_query()source protected

_query( string $username )

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

Параметры

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

Возвращает

Cake\ORM\Query

getUser()source public

getUser( Cake\Http\ServerRequest $request )

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

Параметры

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 - пользователь, который собирается выйти из системы.

Возвращает

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

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

needsPasswordRehash()source public

needsPasswordRehash( )

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

Возвращает

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
Возвращаемое значение, если ключ не существует.

Возвращает

смешанное
Значение конфигурации, которое читается.

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.7/class-Cake.Auth.FormAuthenticate.html

Spec-Zone.ru

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