Spec-Zone.ru › CakePHP 3.2

Класс BasicAuthenticate

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

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

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

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

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

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

Поскольку 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

Унаследованные свойства

  • _defaultConfig, _needsPasswordRehash, _passwordHasher, _registry _config, _configInitialized

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

  • authenticate() public

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

  • getUser() public
    Получение пользователя на основе информации в запросе. Используется для аутентификации без файлов cookie для бессостоятельных клиентов.
  • loginHeaders() public
    Генерация заголовков входа
  • unauthenticated() public
    Обработка неудачной попытки доступа без аутентификации, отправкой соответствующих заголовков входа

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

authenticate()source public

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

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

Параметры

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

Возвращает

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

getUser()source public

getUser( Cake\Network\Request $request )

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

Параметры

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

Возвращает

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

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

Cake\Auth\BaseAuthenticate::getUser()

loginHeaders()source public

loginHeaders( Cake\Network\Request $request )

Генерирует заголовки входа

Параметры

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

Возвращает

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

unauthenticated()source public

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

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

Параметры

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

Выбрасывает

Cake\Network\Exception\UnauthorizedException

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

Cake\Auth\BaseAuthenticate::unauthenticated()

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

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


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

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

Исключения

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

Параметры

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

Возвращает

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

Исключения

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

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

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.

Возвращает


$this Сам объект.

© 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.2/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

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