Класс AuthComponent
Класс компонента управления аутентификацией.
Связывает контроль доступа с аутентификацией пользователя и управлением сеансом.
- Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait, Cake\Log\LogTrait
-
Cake\Controller\Component\AuthComponent uses Cake\Event\EventDispatcherTrait
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components/authentication.html
Расположен по адресу Controller/Component/AuthComponent.php
Подробное описание методов
__getsource public
__get( string $name )
Магический аксессор для обратной совместимости для свойства $sessionKey.
Параметры
- строка
$name - Имя свойства
Возвращает
mixedсмешанный
Переопределяет
Cake\Controller\Component::__get() __setsource public
__set( string $name , mixed $value )
Магический установщик для обратной совместимости для свойства $sessionKey.
Параметры
- строка
$name - Имя свойства.
- смешанный
$value - Значение для установки.
_getUsersource protected
_getUser( )
Аналогично AuthComponent::user(), за исключением того, что если пользователь не найден в настроенном хранилище, будут вызываться методы getUser() подключённых объектов аутентификации.
Это позволяет корректно работать методам аутентификации без состояния.
Возвращает
booleantrue, если пользователь найден, false — если нет.
_isAllowedsource protected
_isAllowed( Cake\Controller\Controller $controller )
Проверяет, доступна ли текущая операция без аутентификации.
Параметры
-
Cake\Controller\Controller$controller - Ссылка на объект контроллера, инициализирующий компонент
Возвращает
booleanTrue, если действие доступно без аутентификации, иначе false
_isLoginActionsource protected
_isLoginAction( Cake\Controller\Controller $controller )
Нормализует конфигурацию loginAction и проверяет, совпадает ли текущий URL запроса с действием входа в систему.
Параметры
-
Cake\Controller\Controller$controller - Ссылка на объект контроллера.
Возвращает
booleanTrue, если текущее действие — действие входа в систему, иначе false.
_unauthenticatedsource protected
_unauthenticated( Cake\Controller\Controller $controller )
Обрабатывает попытку доступа без аутентификации. Сначала будет вызван метод unauthenticated() последнего аутентификатора в цепочке. Аутентификатор может обработать отправку ответа или перенаправление и вернуть true для указания того, что дальнейшие действия не нужны. Если аутентификатор возвращает null, этот метод перенаправляет пользователя на действие входа в систему. Если это AJAX-запрос и задана конфигурация ajaxLogin, то отображается этот элемент, иначе возвращается HTTP-код состояния 403.
Параметры
-
Cake\Controller\Controller$controller - Ссылка на объект контроллера.
Возвращает
Cake\Network\Response|nullNull, если текущее действие — действие входа в систему, иначе объект ответа, возвращаемый объектом аутентификации или Controller::redirect().
_unauthorizedsource protected
_unauthorized( Cake\Controller\Controller $controller )
Обработка попытки несанкционированного доступа
Параметры
-
Cake\Controller\Controller$controller - Ссылка на объект контроллера
Возвращает
Cake\Network\Response\Cake\Network\Response
Вызывает
Cake\Network\Exception\ForbiddenException\Cake\Network\Exception\ForbiddenException
allowsource public
allow( string|array $actions null )
Принимает список действий в текущем контроллере, для которых не требуется аутентификация, или без параметров, чтобы разрешить все действия.
Можно использовать allow с массивом или простой строкой.
$this->Auth->allow('view'); $this->Auth->allow(['edit', 'add']);
или для разрешения всех действий
$this->Auth->allow();
Параметры
- строка|массив
$actionsнеобязательно null - Имя действия контроллера или массив действий
Ссылка
http://book.cakephp.org/3.0/ru/controllers/components/authentication.html#making-actions-publicauthChecksource public
authCheck( Cake\Event\Event $event )
Основной метод выполнения, обрабатывает начальную проверку аутентификации и перенаправление неверных пользователей.
Проверка аутентификации выполняется, когда имя события совпадает с именем, настроенным в конфигурации checkAuthIn.
Параметры
-
Cake\Event\Event$event - Объект события.
Возвращает
Cake\Network\Response|null\Cake\Network\Response|null
authenticationProvidersource public
authenticationProvider( )
Если во время этого запроса был вызван метод входа в систему и пользователь был успешно аутентифицирован, эта функция вернёт экземпляр объекта аутентификации, который использовался для входа пользователя.
Возвращает
Cake\Auth\BaseAuthenticate|null\Cake\Auth\BaseAuthenticate|null
authorizationProvidersource public
authorizationProvider( )
Если для текущего запроса была выполнена авторизация, эта функция вернёт экземпляр объекта авторизации, который предоставил пользователю доступ к текущему адресу.
Возвращает
Cake\Auth\BaseAuthorize|null\Cake\Auth\BaseAuthorize|null
constructAuthenticatesource public
constructAuthenticate( )
Загружает настроенные объекты аутентификации.
Возвращает
array|nullЗагруженные объекты авторизации или null при пустом значении authenticate.
Вызывает
Cake\Core\Exception\Exception\Cake\Core\Exception\Exception
constructAuthorizesource public
constructAuthorize( )
Загружает настроенные объекты авторизации.
Возвращает
array|nullЗагруженные объекты авторизации или null при пустом значении authorize.
Вызывает
Cake\Core\Exception\Exception\Cake\Core\Exception\Exception
denysource public
deny( string|array $actions null )
Удаляет элементы из списка разрешённых/не требующих аутентификации действий.
Можно использовать deny с массивом или простой строкой.
$this->Auth->deny('view'); $this->Auth->deny(['edit', 'add']);
или
$this->Auth->deny();
чтобы удалить все элементы из разрешённого списка
Параметры
- строка|массив
$actionsнеобязательно null - Имя действия контроллера или массив действий
См. также
Cake\Controller\Component\AuthComponent::allow()Ссылка
http://book.cakephp.org/3.0/ru/controllers/components/authentication.html#making-actions-require-authorizationflashsource public
flash( string $message )
Устанавливает сообщение flash. Использует компонент Flash со значениями из конфигурации flash.
Параметры
- строка
$message - Сообщение для установки.
getAuthenticatesource public
getAuthenticate( string $alias )
Получатель объектов аутентификации. Вернёт определённый объект аутентификации.
Параметры
- строка
$alias - Псевдоним объекта аутентификации
Возвращает
Cake\Auth\BaseAuthenticate|null\Cake\Auth\BaseAuthenticate|null
getAuthorizesource public
getAuthorize( string $alias )
Получатель объектов авторизации. Вернёт определённый объект авторизации.
Параметры
- строка
$alias - Псевдоним объекта авторизации
Возвращает
Cake\Auth\BaseAuthorize|null\Cake\Auth\BaseAuthorize|null
identifysource public
identify( )
Использует настроенные адаптеры аутентификации и пытается идентифицировать пользователя по учётным данным, содержащимся в $request.
Вызывает событие Auth.afterIdentify, на которое могут реагировать классы аутентификации.
Возвращает
array|booleanДанные записи пользователя или false, если пользователь не был идентифицирован.
implementedEventssource public
implementedEvents( )
Поддерживаемые этим компонентом события.
Возвращает
arrayмассив
Переопределяет
Cake\Controller\Component::implementedEvents() initializesource public
initialize( array $config )
Инициализирует свойства.
Параметры
- массив
$config - Данные конфигурации.
Переопределяет
Cake\Controller\Component::initialize() isAuthorizedsource public
isAuthorized( array|null $user null , Cake\Network\Request $request null )
Проверяет, авторизован ли предоставленный пользователь для запроса.
Использует настроенные адаптеры авторизации, чтобы проверить, авторизован ли пользователь. Каждый адаптер проверяется последовательно; если любой из них возвращает true, пользователь авторизован для запроса.
Параметры
- массив|null
$userнеобязательно null - Пользователь, авторизацию которого нужно проверить. Если пусто, используется пользователь, полученный из хранилища.
-
Cake\Network\Request$requestнеобязательно null - Запрос, для которого нужно выполнить аутентификацию. Если пусто, используется текущий запрос.
Возвращает
booleanTrue, если $user авторизован, иначе false
logoutsource public
logout( )
Выйти из системы.
Возвращает действие выхода для перенаправления. Вызывает событие Auth.logout, на которое могут реагировать классы аутентификации для выполнения кастомной логики выхода.
Возвращает
stringНормализованная конфигурация
logoutRedirectСсылка
http://book.cakephp.org/3.0/ru/controllers/components/authentication.html#logging-users-outredirectUrlsource public
redirectUrl( string|array $url null )
Получить URL, на который пользователь должен быть перенаправлен после входа.
Передайте URL, чтобы установить место назначения, куда должен быть перенаправлен пользователь при входе в систему.
Если параметр не передан, получает URL перенаправления аутентификации. Возвращаемый URL соответствует следующим правилам:
- Возвращает нормализованный URL перенаправления из хранилища, если он существует и для того же домена, на котором работает текущее приложение. - Если из хранилища не возвращается URL и есть конфигурация loginRedirect, возвращается значение loginRedirect. - Если сессии нет и нет loginRedirect, возвращается /.
Параметры
- строка|массив
$urlнеобязательно null - Необязательный URL для записи в качестве URL перенаправления при входе в систему.
Возвращает
stringURL перенаправления
setUsersource public
setUser( array $user )
Устанавливает предоставленную информацию о пользователе в хранилище как вошедшего пользователя.
Класс хранилища настраивается с помощью ключа конфигурации storage или путём передачи экземпляра в AuthComponent::storage().
Параметры
- массив
$user - Массив данных пользователя.
Ссылка
http://book.cakephp.org/3.0/ru/controllers/components/authentication.html#identifying-users-and-logging-them-instartupsource public
startup( Cake\Event\Event $event )
Обработчик события Controller.startup.
Параметры
-
Cake\Event\Event$event - Экземпляр события.
Возвращает
Cake\Network\Response|null\Cake\Network\Response|null
storagesource public
storage( Cake\Auth\Storage\StorageInterface $storage null )
Получение/установка объекта хранилища записей пользователей.
Параметры
-
Cake\Auth\Storage\StorageInterface$storageнеобязательно null - Устанавливает предоставленный объект как хранилище или, если null, возвращает настроенный объект хранилища.
Возвращает
Cake\Auth\Storage\StorageInterface|null\Cake\Auth\Storage\StorageInterface|null
usersource public
user( string $key null )
Получить текущего пользователя из хранилища.
Параметры
- строка
$keyнеобязательно null - Поле для извлечения. Оставьте null, чтобы получить всю запись пользователя.
Возвращает
array|nullЛибо запись пользователя, либо null, если пользователь не авторизован.
Ссылка
http://book.cakephp.org/3.0/ru/controllers/components/authentication.html#accessing-the-logged-in-userМетоды, унаследованные от Cake\Controller\Component
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - ComponentRegistry, который может использовать этот компонент для ленивой загрузки своих компонентов
- массив
$configнеобязательно [] - Массив параметров конфигурации.
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
arrayмассив
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEventsource public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null - Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null - Объект, к которому относится это событие ($this по умолчанию).
Возвращаемое значение
Cake\Event\Event\Cake\Event\Event
eventManagersource public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера событий Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по желанию.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращаемое значение
Cake\Event\EventManager\Cake\Event\EventManager
Методы, используемые из 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 - Значение для записи.
- логический тип|строка
$mergeнеобязательно false - Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Исключения
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']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или весь массив конфигурации.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
- логический тип
$mergeнеобязательно 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']);
Параметры
- строка|массив
$key - Ключ для установки или весь массив конфигурации.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
mixed$this Сам объект.
Методы, используемые из Cake\Log\LogTrait
logsource public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанный тип
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемое значение
booleanУспех записи в журнал.
Резюме констант
string | ALL Константа для 'всех' | 'all' |
Резюме свойств
Наследуемые свойства от Cake\Controller\Component
$_componentMapsource
protected array
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
[]
$_registrysource
protected Cake\Controller\ComponentRegistry
Класс реестра компонентов, используемый для ленивой загрузки компонентов.
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указывает, была ли настройка свойства уже настроена значениями по умолчанию
false Свойства, используемые из Cake\Event\EventDispatcherTrait
$_eventClasssource
protected string
Имя класса по умолчанию для новых объектов событий.
'\Cake\Event\Event' $_eventManagersource
protected Cake\Event\EventManager
Экземпляр Cake\Event\EventManager, который используется этим объектом для передачи внутренних событий.
null
© 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.Controller.Component.AuthComponent.html