Spec-Zone.ru › CakePHP 3.8

Класс AuthComponent

Класс компонента управления аутентификацией.

Связывает контроль доступа с аутентификацией пользователя и управлением сеансами.

Cake\Controller\Component реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait , Cake\Log\LogTrait
Расширенный Cake\Controller\Component\AuthComponent использует Cake\Event\EventDispatcherTrait
Пространство имён: Cake\Controller\Component
Ссылка: https://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположение: Controller/Component/AuthComponent.php

Краткое описание констант

  • string

    ALL
    'all'
  • string

    QUERY_STRING_REDIRECT
    'redirect'

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

  • $_authenticateObjects protected
    Cake\Auth\BaseAuthenticate[]
    Объекты, которые будут использоваться для проверок аутентификации.
  • $_authenticationProvider protected
    Cake\Auth\BaseAuthenticate|null

    Экземпляр провайдера аутентификации, который использовался для успешной авторизации текущего пользователя после вызова login() в том же запросе

  • $_authorizationProvider protected
    Cake\Auth\BaseAuthorize|null

    Экземпляр провайдера авторизации, который использовался для предоставления доступа текущему пользователю к запрошенному URL.

  • $_authorizeObjects protected
    Cake\Auth\BaseAuthorize[]
    Объекты, которые будут использоваться для проверок авторизации.
  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_storage protected
    Cake\Auth\Storage\StorageInterface|null
    Объект хранилища.
  • $allowedActions public
    string[]
    Действия контроллера, для которых проверка пользователя не требуется.
  • $components public
    array
    Другие компоненты, используемые компонентом AuthComponent
  • $request public
    Cake\Http\ServerRequest
    Объект запроса
  • $response public
    Cake\Http\Response
    Объект ответа
  • $session public
    Cake\Http\Session
    Экземпляр объекта сеанса

Краткое описание магических свойств

  • $Flash public
    Cake\Controller\Component\FlashComponent
  • $RequestHandler public
    Cake\Controller\Component\RequestHandlerComponent

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

  • _componentMap, _registry _config, _configInitialized _eventClass, _eventManager

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

  • __get() public
    Магический аксессор для обратной совместимости для свойства $sessionKey.
  • __set() public
    Магический установщик для обратной совместимости для свойства $sessionKey.
  • _getUrlToRedirectBackTo() protected
    Возвращает URL для перенаправления обратно или /, если это невозможно.
  • _getUser() protected

    Аналогично AuthComponent::user(), за исключением того, что если пользователь не найден в настроенном хранилище, будут вызваны методы getUser() подключенных объектов аутентификации.

  • _isAllowed() protected
    Проверяет, доступна ли текущая операция без аутентификации.
  • _isLoginAction() protected
    Нормализует конфигурацию loginAction и проверяет, совпадает ли текущий URL запроса с действием входа в систему.
  • _loginActionRedirectUrl() protected
    Возвращает URL действия входа в систему для перенаправления.
  • _setDefaults() protected
    Устанавливает значения по умолчанию для конфигурации.
  • _unauthenticated() protected

    Обрабатывает попытку доступа без аутентификации. Сначала вызывается метод unauthenticated() последнего аутентификатора в цепочке. Аутентификатор может обработать отправку ответа или перенаправление, как необходимо, и вернуть true, чтобы указать, что дальнейшие действия не требуются. Если аутентификатор возвращает null, этот метод перенаправляет пользователя на действие входа в систему. Если это запрос AJAX и указана конфигурация ajaxLogin, этот элемент отображается, иначе возвращается HTTP-код состояния 403.

  • _unauthorized() protected
    Обработка попытки несанкционированного доступа
  • allow() public

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

  • authCheck() public

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

  • authenticationProvider() public

    Если во время этого запроса был вызван вход в систему и пользователь успешно авторизован, эта функция вернёт экземпляр объекта аутентификации, который использовался для входа пользователя.

  • authorizationProvider() public

    Если для текущего запроса была произведена обработка авторизации, эта функция вернет экземпляр объекта Authorization, который предоставил пользователю доступ к текущему адресу.

  • constructAuthenticate() public
    Загружает настроенные объекты аутентификации.
  • constructAuthorize() public
    Загружает настроенные объекты авторизации.
  • deny() public
    Удаляет элементы из списка разрешенных действий/действий, для которых не требуется аутентификация.
  • flash() public
    Устанавливает сообщение всплывающей подсказки. Использует компонент Flash со значениями из конфигурации flash.
  • getAuthenticate() public
    Получатель для объектов аутентификации. Вернёт определённый объект аутентификации.
  • getAuthorize() public
    Получатель для объектов авторизации. Вернёт определённый объект авторизации.
  • identify() public

    Использует настроенные адаптеры аутентификации и пытается идентифицировать пользователя по данным в $request.

  • implementedEvents() public
    Поддерживаемые события этого компонента.
  • initialize() public
    Инициализация свойств.
  • isAuthorized() public
    Проверка, авторизован ли предоставленный пользователь для запроса.
  • logout() public
    Выход пользователя.
  • redirectUrl() public
    Получение URL, на который следует перенаправить пользователя после входа.
  • setUser() public
    Установка предоставленной информации о пользователе в хранилище как вошедшего пользователя.
  • startup() public
    Обратный вызов для события Controller.startup.
  • storage() public
    Получение/установка объекта хранилища записей пользователей.
  • user() public
    Получение текущего пользователя из хранилища.

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

__get()source public

__get( string $name )

Магический аксессор для обратной совместимости для свойства $sessionKey.

Параметры

строка $name
Имя свойства

Возвращает

смешанный

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

Cake\Controller\Component::__get()

__set()source public

__set( string $name , mixed $value )

Магический установщик для обратной совместимости для свойства $sessionKey.

Параметры

строка $name
Имя свойства.
смешанный $value
Значение для установки.

_getUrlToRedirectBackTo()source protected

_getUrlToRedirectBackTo( )

Возвращает URL для перенаправления обратно или /, если это невозможно.

Этот метод учитывает referrer, если тип запроса не GET.

Возвращает

строка

_getUser()source protected

_getUser( )

Аналогично AuthComponent::user(), за исключением того, что если пользователь не найден в настроенном хранилище, будут вызваны методы getUser() подключенных объектов аутентификации.

Это позволяет корректно функционировать методам аутентификации без состояния.

Возвращает

boolean
true, если пользователь найден, false, если нет.

_isAllowed()source protected

_isAllowed( Cake\Controller\Controller $controller )

Проверяет, доступна ли текущая операция без аутентификации.

Параметры

Cake\Controller\Controller $controller

Ссылка на объект контроллера, его инициализирующий

Возвращает

boolean
True, если действие доступно без аутентификации, иначе false

_isLoginAction()source protected

_isLoginAction( Cake\Controller\Controller $controller )

Нормализует конфигурацию loginAction и проверяет, совпадает ли текущий URL запроса с действием входа в систему.

Параметры

Cake\Controller\Controller $controller
Ссылка на объект контроллера.

Возвращает

boolean
True, если текущее действие - действие входа в систему, иначе false.

_loginActionRedirectUrl()source protected

_loginActionRedirectUrl( )

Возвращает URL действия входа в систему для перенаправления.

Включает строку запроса перенаправления, если применимо.

Возвращает

массив|строка
END_OF_DOCUMENT_MARKER

_setDefaults()source protected

_setDefaults( )

Устанавливает значения по умолчанию для конфигурации.

_unauthenticated()source protected

_unauthenticated( Cake\Controller\Controller $controller )

Обрабатывает попытку доступа без авторизации. Сначала вызывается метод unauthenticated() последнего аутентификатора в цепочке. Аутентификатор может обработать отправку ответа или перенаправление, как необходимо, и вернуть true для указания того, что дальнейшие действия не требуются. Если аутентификатор возвращает null, этот метод перенаправляет пользователя на действие входа в систему. Если это AJAX-запрос и указана конфигурация ajaxLogin, то отображается соответствующий элемент; в противном случае возвращается HTTP-код состояния 403.

Параметры

Cake\Controller\Controller $controller
Ссылка на объект контроллера.

Возвращает

Cake\Http\Response|null

Null, если текущее действие — действие входа в систему, иначе объект ответа, возвращённый объектом аутентификации или Controller::redirect().


Исключение

Cake\Core\Exception\Exception

_unauthorized()source protected

_unauthorized( Cake\Controller\Controller $controller )

Обработка попытки несанкционированного доступа

Параметры

Cake\Controller\Controller $controller
Ссылка на объект контроллера

Возвращает

Cake\Http\Response

Исключение

Cake\Http\Exception\ForbiddenException

allow()source public

allow( string|string[]|null $actions = null )

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

Можно использовать allow с массивом или простой строкой.

$this->Auth->allow('view');
$this->Auth->allow(['edit', 'add']);

или для разрешения всех действий

$this->Auth->allow();

Параметры

string|string[]|null $actions необязательно null
Имя действия контроллера или массив действий

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components/authentication.html#making-actions-public

authCheck()source public

authCheck( Cake\Event\Event $event )

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

Проверка аутентификации выполняется, когда имя события совпадает с именем, настроенным в checkAuthIn конфигурации.

Параметры

Cake\Event\Event $event
Экземпляр события.

Возвращает

Cake\Http\Response|null

Исключение

ReflectionException

authenticationProvider()source public

authenticationProvider( )

Если вход в систему был вызван во время этого запроса и пользователь был успешно аутентифицирован, эта функция вернёт экземпляр объекта аутентификации, который был использован для входа пользователя.

Возвращает

Cake\Auth\BaseAuthenticate|null

authorizationProvider()source public

authorizationProvider( )

Если для текущего запроса была выполнена обработка авторизации, эта функция вернёт экземпляр объекта авторизации, который предоставил пользователю доступ к текущему адресу.

Возвращает

Cake\Auth\BaseAuthorize|null

constructAuthenticate()source public

constructAuthenticate( )

Загружает настроенные объекты аутентификации.

Возвращает

array|null
Загруженные объекты авторизации или null при пустом значении authenticate.

Исключение

Cake\Core\Exception\Exception

constructAuthorize()source public

constructAuthorize( )

Загружает настроенные объекты авторизации.

Возвращает

array|null
Загруженные объекты авторизации или null, когда authorize пустой.

Исключение

Cake\Core\Exception\Exception

deny()source public

deny( string|string[]|null $actions = null )

Удаляет элементы из списка разрешённых/не требующих аутентификации действий.

Можно использовать deny с массивом или простой строкой.

$this->Auth->deny('view');
$this->Auth->deny(['edit', 'add']);

или

$this->Auth->deny();

чтобы удалить все элементы из разрешённого списка

Параметры

string|string[]|null $actions необязательно null
Имя действия контроллера или массив действий

См.

\Cake\Controller\Component\AuthComponent::allow()

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components/authentication.html#making-actions-require-authorization

flash()source public

flash( string $message )

Устанавливает сообщение флеш. Использует компонент Flash со значениями из flash конфигурации.

Параметры

string $message
Сообщение для установки.

getAuthenticate()source public

getAuthenticate( string $alias )

Получатель объектов аутентификации. Возвращает конкретный объект аутентификации.

Параметры

string $alias
Псевдоним объекта аутентификации

Возвращает

Cake\Auth\BaseAuthenticate|null

getAuthorize()source public

getAuthorize( string $alias )

Получатель объектов авторизации. Возвращает конкретный объект авторизации.

Параметры

string $alias
Псевдоним объекта авторизации

Возвращает

Cake\Auth\BaseAuthorize|null

identify()source public

identify( )

Использует настроенные адаптеры аутентификации и пытается идентифицировать пользователя по данным авторизации, содержащимся в $request.

Вызывает событие Auth.afterIdentify , на которое могут подписаться классы аутентификации.

Возвращает

array|boolean
Данные записи пользователя или false, если пользователя не удалось идентифицировать.

implementedEvents()source public

implementedEvents( )

Поддерживаемые этим компонентом события.

Возвращает

array

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

Cake\Controller\Component::implementedEvents()

initialize()source public

initialize( array $config )

Инициализирует свойства.

Параметры

array $config
Данные конфигурации.

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

Cake\Controller\Component::initialize()

isAuthorized()source public

isAuthorized( array|ArrayAccess|null $user = null , Cake\Http\ServerRequest $request = null )

Проверяет, авторизован ли предоставленный пользователь для запроса.

Использует настроенные адаптеры авторизации, чтобы проверить, авторизован ли пользователь или нет. Каждый адаптер будет проверен последовательно; если любой из них вернёт true, то пользователь будет авторизован для запроса.

Параметры

array|ArrayAccess|null $user необязательно null

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

Cake\Http\ServerRequest $request необязательно null

Запрос, для которого нужно выполнить аутентификацию. Если пусто, будет использован текущий запрос.

Возвращает

boolean
True, если $user авторизован, иначе false
END_OF_DOCUMENT_MARKER

logout()source public

logout( )

Вывести пользователя из системы.

Возвращает действие выхода, чтобы перенаправить пользователя. Вызывает событие Auth.logout, на которое могут реагировать классы аутентификации и выполнять пользовательскую логику выхода.

Возвращает

string
Нормализованные настройки logoutRedirect

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components/authentication.html#logging-users-out

redirectUrl()source public

redirectUrl( string|array|null $url = null )

Получить URL, на который должен быть перенаправлен пользователь после входа.

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

Если параметр не передан, получает URL перенаправления аутентификации. Возвращаемый URL соответствует следующим правилам:

  • Возвращает нормализованный URL перенаправления из хранилища, если он существует и для того же домена, на котором работает текущее приложение.
  • Если URL не возвращается из хранилища и есть конфигурация loginRedirect, возвращается значение loginRedirect.
  • Если нет сессии и нет loginRedirect, возвращается /.

Параметры

string|array|null $url необязательно null
Необязательный URL для записи в качестве URL перенаправления после входа.

Возвращает

string
URL перенаправления

setUser()source public

setUser( array|ArrayAccess $user )

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

Класс хранилища настраивается с помощью ключа конфигурации storage или путем передачи экземпляра в AuthComponent::storage().

Параметры

array|ArrayAccess $user
Данные пользователя.

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components/authentication.html#identifying-users-and-logging-them-in

startup()source public

startup( Cake\Event\Event $event )

Обратный вызов для события Controller.startup.

Параметры

Cake\Event\Event $event
Экземпляр события.

Возвращает

Cake\Http\Response|null

storage()source public

storage( Cake\Auth\Storage\StorageInterface $storage = null )

Получить/установить объект хранилища записей пользователей.

Параметры

Cake\Auth\Storage\StorageInterface $storage необязательно null

Устанавливает предоставленный объект как хранилище или, если null, возвращает настроенный объект хранилища.

Возвращает

Cake\Auth\Storage\StorageInterface|null

user()source public

user( string|null $key = null )

Получить текущего пользователя из хранилища.

Параметры

string|null $key необязательно null
Поле для извлечения. Оставьте null, чтобы получить всю запись пользователя.

Возвращает

mixed|null
Либо запись пользователя, либо null, если пользователь не вошел в систему, или извлеченное поле, если указан ключ.

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components/authentication.html#accessing-the-logged-in-user

Методы, унаследованные от Cake\Controller\Component

__construct()source public

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

Конструктор

Параметры

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

__debugInfo()source public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

array

getController()source public

getController( )

Получить контроллер, к которому привязан этот компонент.

Возвращает

Cake\Controller\Controller
Привязанный контроллер.

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

dispatchEvent()source public

dispatchEvent( string $name , array|null $data = null , object|null $subject = null )

Обёртка для создания и отправки событий.

Возвращает событие, которое было отправлено.

Параметры

string $name
Имя события.
array|null $data необязательно null

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

object|null $subject необязательно null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event

eventManager()source public устарело

eventManager( Cake\Event\EventManager $eventManager = null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и запускать их по своему желанию.

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
менеджер событий для установки

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и запускать их по своему желанию.

Возвращает

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и запускать их по своему желанию.

Параметры

Cake\Event\EventManager $eventManager
менеджер событий для установки

Возвращает


$this

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

_configDelete()source protected

_configDelete( string $key )

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

Параметры

string $key
Ключ для удаления.

Исключения

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

_configRead()source protected

_configRead( string|null $key )

Читает ключ конфигурации.

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_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
при попытке перезаписать существующую конфигурацию
END_OF_DOCUMENT_MARKER

config()source public deprecated

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

Возвращает

mixed
Данные конфигурации по указанному ключу или 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']);

Параметры

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

Возвращает


$this

Выбрасывает

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

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

log()source public

log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )

Метод для записи сообщения в журнал. Дополнительную информацию о записи в журналы см. в Log::write().

Параметры

mixed $msg
Сообщение журнала.
integer|string $level optional LogLevel::ERROR
Уровень ошибки.
string|array $context optional []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Успех записи в журнал.

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

$_authenticateObjectssource

protected Cake\Auth\BaseAuthenticate[]

Объекты, которые будут использоваться для проверки аутентификации.

[]

$_authenticationProvidersource

protected Cake\Auth\BaseAuthenticate|null

Экземпляр поставщика аутентификации, который использовался для успешного входа текущего пользователя после вызова login() в том же запросе

$_authorizationProvidersource

protected Cake\Auth\BaseAuthorize|null

Экземпляр поставщика авторизации, который использовался для предоставления доступа текущему пользователю к запрошенному URL.

$_authorizeObjectssource

protected Cake\Auth\BaseAuthorize[]

Объекты, которые будут использоваться для проверок авторизации.

[]

$_defaultConfigsource

protected array

Конфигурация по умолчанию

  • authenticate - Массив объектов аутентификации для аутентификации пользователей. Вы можете настроить несколько адаптеров, и они будут проверяться последовательно при идентификации пользователей.

    $this->Auth->setConfig('authenticate', [
     'Form' => [
        'userModel' => 'Users.Users'
     ]
    ]);

    Используя имя класса без 'Authenticate' в качестве ключа, вы можете передать массив конфигурации для каждого объекта аутентификации. Кроме того, вы можете определить конфигурацию, которая должна устанавливаться для всех объектов аутентификации, используя ключ 'all':

    $this->Auth->setConfig('authenticate', [
      AuthComponent::ALL => [
         'userModel' => 'Users.Users',
         'scope' => ['Users.active' => 1]
     ],
    'Form',
    'Basic'
    ]);
  • authorize - Массив объектов авторизации для авторизации пользователей. Вы можете настроить несколько адаптеров, и они будут проверяться последовательно при выполнении проверок авторизации.

    $this->Auth->setConfig('authorize', [
     'Crud' => [
         'actionPath' => 'controllers/'
     ]
    ]);

    Используя имя класса без 'Authorize' в качестве ключа, вы можете передать массив конфигурации для каждого объекта авторизации. Кроме того, вы можете определить конфигурацию, которая должна устанавливаться для всех объектов авторизации, используя ключ AuthComponent::ALL:

    $this->Auth->setConfig('authorize', [
     AuthComponent::ALL => [
         'actionPath' => 'controllers/'
     ],
     'Crud',
     'CustomAuth'
    ]);
  • ~~ajaxLogin~~ - Название необязательного элемента представления для рендеринга, когда Ajax-запрос выполняется с недействительной или истекшей сессией. Этот параметр устарел с версии 3.3.6. Вместо этого ваш код на стороне клиента должен проверять код состояния 403 и отображать соответствующую форму входа.

  • flash - Настройки, используемые, когда Auth должен выполнить сообщение всплывающей подсказки с FlashComponent::set(). Доступные ключи:

    • key - Домен сообщений для всплывающих подсказок, генерируемых этим компонентом, по умолчанию 'auth'.
    • element - Элемент всплывающей подсказки, по умолчанию 'default'.
    • params - Массив дополнительных параметров, по умолчанию ['class' => 'error']
  • loginAction - URL (определенный как строка или массив) до действия контроллера, обрабатывающего вход. По умолчанию /users/login.

  • loginRedirect - Обычно, если пользователь перенаправляется на страницу loginAction, местоположение, из которого он был перенаправлен, будет сохранено в сессии, чтобы он мог быть перенаправлен обратно после успешного входа. Если это значение сессии не задано, метод redirectUrl() вернёт URL, указанный в loginRedirect.

  • logoutRedirect - Действие по умолчанию для перенаправления после выхода пользователя. Хотя AuthComponent не обрабатывает перенаправление после выхода, URL перенаправления будет возвращён из AuthComponent::logout(). По умолчанию loginAction.

  • authError - Ошибка, отображаемая, когда пользователь пытается получить доступ к объекту или действию, к которому у него нет доступа.

  • unauthorizedRedirect - Управляет обработкой несанкционированного доступа.

    • По умолчанию неавторизованный пользователь перенаправляется на URL-адрес реферера или $loginRedirect или '/'.
    • Если установлено значение string или array, это значение используется как URL для перенаправления.
    • Если установлено значение false, вместо перенаправления выбрасывается исключение ForbiddenException.
  • storage - Класс хранения для сохранения записи пользователя. При использовании бессостоятельного аутентификатора вы должны установить это на 'Memory'. По умолчанию 'Session'.

  • checkAuthIn - Название события, для которого должны выполняться начальные проверки аутентификации. По умолчанию 'Controller.startup'. Вы можете установить его на 'Controller.initialize', если хотите выполнить проверку до выполнения beforeFilter() контроллера.

[
    'authenticate' => null,
    'authorize' => null,
    'ajaxLogin' => null,
    'flash' => null,
    'loginAction' => null,
    'loginRedirect' => null,
    'logoutRedirect' => null,
    'authError' => null,
    'unauthorizedRedirect' => true,
    'storage' => 'Session',
    'checkAuthIn' => 'Controller.startup'
]

$_storagesource

protected Cake\Auth\Storage\StorageInterface|null

Объект хранения.

$allowedActionssource

public string[]

Действия контроллера, для которых не требуется проверка пользователя.

См. также

\Cake\Controller\Component\AuthComponent::allow()
[]

$componentssource

public array

Другие компоненты, используемые AuthComponent

['RequestHandler', 'Flash']

$requestsource

public Cake\Http\ServerRequest

Объект запроса

$responsesource

public Cake\Http\Response

Объект ответа

$sessionsource

public Cake\Http\Session

Экземпляр объекта Session

Устаревшее

3.1.0 Будет удалено в версии 4.0

Подробное описание магических свойств

$Flashsource

public Cake\Controller\Component\FlashComponent

$RequestHandlersource

public Cake\Controller\Component\RequestHandlerComponent

© 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.8/class-Cake.Controller.Component.AuthComponent.html

Spec-Zone.ru

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