Spec-Zone.ru › CakePHP 3.1

Класс BasicAuthenticate

Адаптер базовой аутентификации для AuthComponent.

Обеспечивает поддержку базовой HTTP-аутентификации для AuthComponent. Базовая аутентификация будет аутентифицировать пользователей по отношению к настроенной модели userModel и проверять соответствие имени пользователя и паролей.

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

В массиве компонентов вашего контроллера добавьте auth и необходимую конфигурацию

public $components = [
    'Auth' => [
        'authenticate' => ['Basic']
    ]
];

Вы также должны установить AuthComponent::$sessionKey = false; в методе beforeFilter() вашего контроллера AppController, чтобы предотвратить отправку CakePHP cookie сессии клиенту.

Поскольку HTTP-базовая аутентификация бессостоятельна, вам не нужен действие login() в вашем контроллере. Данные учетных записей пользователей будут проверяться при каждом запросе. Если не предоставлены корректные учетные данные, этот поставщик аутентификации отправит необходимые заголовки аутентификации, что запустит диалог входа в браузере/клиенте.

Вы также можете использовать $this->Auth->unauthorizedRedirect = false;. По умолчанию неавторизованные пользователи перенаправляются на URL-адрес предыдущего запроса, AuthComponent::$loginAction, или '/'. Если unauthorizedRedirect установлен в false, вместо перенаправления будет брошено исключение ForbiddenException.

Cake\Auth\BaseAuthenticate реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
Extended by Cake\Auth\BasicAuthenticate

Непосредственные известные подклассы

Cake\Auth\DigestAuthenticate
Пространство имен: Cake\Auth
Расположение: Auth/BasicAuthenticate.php

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

authenticatesource public

authenticate( Cake\Network\Request $request , Cake\Network\Response $response )

Аутентификация пользователя с использованием HTTP-аутентификации. Использует настроенную модель пользователя и пытается выполнить вход с использованием HTTP-аутентификации.

Параметры

Cake\Network\Request $request
Запрос для аутентификации.
Cake\Network\Response $response
Ответ для добавления заголовков.

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

mixed
В случае неудачи возвращает false, в случае успеха — массив данных пользователя.

getUsersource public

getUser( Cake\Network\Request $request )

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

Параметры

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

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

mixed
В случае неудачи — false, в случае успеха — массив информации о пользователе.

Переопределяет

Cake\Auth\BaseAuthenticate::getUser()

loginHeaderssource public

loginHeaders( Cake\Network\Request $request )

Генерация заголовков входа

Параметры

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

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

string
Заголовки для входа.

unauthenticatedsource public

unauthenticated( Cake\Network\Request $request , Cake\Network\Response $response )

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

Параметры

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

Исключения

Cake\Network\Exception\UnauthorizedException
\Cake\Network\Exception\UnauthorizedException

Переопределяет

Cake\Auth\BaseAuthenticate::unauthenticated()

Методы, унаследованные от Cake\Auth\BaseAuthenticate

__constructsource public

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

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry
Реестр компонентов, используемый в этом запросе.
массив $config необязательно []
Массив конфигурации для использования.

_findUsersource protected

_findUser( string $username , string|null $password null )

Поиск записи пользователя с использованием имени пользователя и пароля.

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

Параметры

строка $username
Имя пользователя/идентификатор.
строка|null $password необязательно null
Пароль, если он не предоставлен, проверка пароля пропускается, и возвращается результат поиска.

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

boolean|array
В случае неудачи — false, в случае успеха — массив данных пользователя.

_querysource protected

_query( string $username )

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

Параметры

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

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

Cake\ORM\Query
\Cake\ORM\Query

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

needsPasswordRehashsource public

needsPasswordRehash( )

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

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

boolean
bool

passwordHashersource public

passwordHasher( )

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

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

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

Исключения

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

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDeletesource protected

_configDelete( string $key )

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

Параметры

строка $key
Ключ для удаления.

Исключения

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

_configReadsource protected

_configRead( string|null $key )

Чтение переменной конфигурации

Параметры

строка|null $key
Ключ для чтения.

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

mixed
смешанное

_configWritesource protected

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

Запись переменной конфигурации

Параметры

строка|массив $key
Ключ для записи.
смешанное $value
Значение для записи.
boolean|строка $merge необязательно false
True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию — false.

Исключения

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

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

Параметры

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

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

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

Исключения

Cake\Core\Exception\Exception
При попытке установить некорректный ключ.

configShallowsource public

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

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

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

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

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

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

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

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

Параметры

string|array $key
Ключ для установки или массив настроек.
mixed|null $value необязательный null
Значение для установки.

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

mixed
$this Объект.

Свойства, унаследованные от Cake\Auth\BaseAuthenticate

$_defaultConfigsource

protected array

Настройки по умолчанию для этого объекта.

  • fields Поля для идентификации пользователя.
  • userModel Псевдоним таблицы пользователей, по умолчанию Users.
  • finder Метод поиска для извлечения записи пользователя. По умолчанию 'all'.
  • passwordHasher Класс хеширования паролей. Может быть строкой, указывающей имя класса, или массивом, содержащим className ключ, все остальные ключи будут переданы как конфигурация в класс. По умолчанию 'Default'.
  • Параметры scope и contain устарели начиная с 3.1. Используйте custom finder для изменения запроса извлечения записи пользователя.
[
    'fields' => [
        'username' => 'username',
        'password' => 'password'
    ],
    'userModel' => 'Users',
    'scope' => [],
    'finder' => 'all',
    'contain' => null,
    'passwordHasher' => 'Default'
]

$_needsPasswordRehashsource

protected boolean

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

false

$_passwordHashersource

protected Cake\Auth\AbstractPasswordHasher

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

$_registrysource

protected Cake\Controller\ComponentRegistry

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

Свойства, используемые из Cake\Core\InstanceConfigTrait

$_configsource

protected array

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

[]

$_configInitializedsource

protected boolean

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

false

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

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