Spec-Zone.ru › CakePHP 3.6

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

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

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

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $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() вместо этого.

Параметры

string|array|null $key необязательно null
Ключ для получения/установки или весь массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.

Возвращает

mixed
Значение конфигурации для чтения, или сам объект при операциях записи.

Исключения

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']);

Параметры

string|array $key
Ключ для установки или весь массив конфигураций.
mixed|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');

Параметры

string|null $key необязательно null
Ключ для получения или null для всей конфигурации.
mixed $default необязательно null
Возвращаемое значение, если ключ не существует.

Возвращает

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

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']);

Параметры

string|array $key
Ключ для установки или весь массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $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.6/class-Cake.Auth.FormAuthenticate.html

Spec-Zone.ru

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