Класс ControllerAuthorize
Адаптер авторизации для AuthComponent. Предоставляет возможность авторизации с использованием обратного вызова контроллера. Метод isAuthorized() вашего контроллера должен возвращать boolean, указывающий, авторизован ли пользователь.
public function isAuthorized($user) { if ($this->request->param('admin')) { return $user['role'] === 'admin'; } return !empty($user); }
Выше приведён пример реализации, который авторизует только пользователей роли «admin» для доступа к админскому маршруту.
- Cake\Auth\BaseAuthorize использует Cake\Core\InstanceConfigTrait
-
Cake\Auth\ControllerAuthorize
См.: AuthComponent::$authenticate
Расположение Auth/ControllerAuthorize.php
Подробное описание методов
__constructsource public
__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry - Контроллер для данного запроса.
- массив
$configнеобязательно [] - Массив конфигурации. Данный класс не использует конфигурацию.
Переопределяет
Cake\Auth\BaseAuthorize::__construct() authorizesource public
authorize( array $user , Cake\Network\Request $request )
Проверяет авторизацию пользователя с помощью обратного вызова контроллера.
Параметры
- массив
$user - Данные активного пользователя
-
Cake\Network\Request$request - Экземпляр запроса.
Возвращает
booleanbool
controllersource public
controller( Cake\Controller\Controller $controller null )
Получить/установить контроллер, с которым будет работать этот объект авторизации. Также проверяет, реализован ли метод isAuthorized.
Параметры
-
Cake\Controller\Controller$controllerнеобязательно null - null для получения, контроллер для установки.
Возвращает
Cake\Controller\Controller\Cake\Controller\Controller
Исключения
Cake\Core\Exception\ExceptionЕсли контроллер не имеет метода
isAuthorized().Методы, используемые из 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']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный тип|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']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный тип|null
$valueнеобязательно null - Значение для установки.
Возвращает
mixedСам объект.
Сводка свойств
Свойства, унаследованные от Cake\Auth\BaseAuthorize
$_registrysource
protected Cake\Controller\ComponentRegistry
Экземпляр ComponentRegistry для получения дополнительных компонентов.
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_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.ControllerAuthorize.html