Spec-Zone.ru › CakePHP 3.4

Класс BasicAuthenticate

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

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

Использование Basic auth

В массиве компонентов вашего контроллера добавьте auth + необходимые настройки

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

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

Поскольку HTTP-аутентификация Basic является бессостоятельной, вам не нужен действие 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-аутентификации. Будет использовать настроенную модель User и попытается выполнить вход с помощью HTTP-аутентификации.

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

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

authenticate()source public

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

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

Параметры

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

Возвращает

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

getUser()source public

getUser( Cake\Http\ServerRequest $request )

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

Параметры

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

Возвращает

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

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

Cake\Auth\BaseAuthenticate::getUser()

loginHeaders()source public

loginHeaders( Cake\Http\ServerRequest $request )

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

Параметры

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

Возвращает

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

unauthenticated()source public

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

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

Параметры

Cake\Http\ServerRequest $request
Объект запроса.
Cake\Http\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 — пользователь, который собирается выйти.

Возвращает

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

Реализация

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

Истинно для рекурсивного слияния, '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']);

Устарело

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

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

Возвращает


$this

Исключения

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

© 2005–2017 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.4/class-Cake.Auth.BasicAuthenticate.html

Spec-Zone.ru

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