Класс ControllerAuthorize
Адаптер авторизации для AuthComponent. Предоставляет возможность авторизации с помощью обратного вызова контроллера. Метод isAuthorized() вашего контроллера должен возвращать boolean, указывающий, авторизован ли пользователь.
public function isAuthorized($user)
{
if ($this->request->getParam('admin')) {
return $user['role'] === 'admin';
}
return !empty($user);
} Выше приведён простой пример, который будет авторизовывать только пользователей с ролью 'admin' для доступа к маршрутам администратора.
Краткое описание свойств
- $_Controller protected
Cake\Controller\ControllerКонтроллер для запроса.
- $_config protected
arrayКонфигурация выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация свойств уже настроена по умолчанию
- $_defaultConfig protected
arrayКонфигурация по умолчанию для объектов авторизации.
- $_registry protected
Cake\Controller\ComponentRegistryЭкземпляр ComponentRegistry для получения других компонентов.
Краткое описание методов
__construct()public
Конструктор
_configDelete()protected
Удаляет один ключ конфигурации.
_configRead()protected
Считывает ключ конфигурации.
_configWrite()protected
Записывает ключ конфигурации.
authorize()public
Проверяет авторизацию пользователя с помощью обратного вызова контроллера.
configShallow()public
Объединяет предоставленную конфигурацию с существующей. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.controller()public
Получение/установка контроллера, с которым будет работать этот объект авторизации. Также проверяет, что реализован метод isAuthorized.
getConfig()public
Возвращает конфигурацию.
getConfigOrFail()public
Возвращает конфигурацию для указанного ключа.
setConfig()public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(Cake\Controller\ComponentRegistry $registry, array $config = [])
Конструктор
Параметры
Cake\Controller\ComponentRegistry$registryarray$config необязательно
_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
string$keyКлюч для удаления.
Возвращает
void$br>Исключения
Cake\Core\Exception\CakeException$br>_configRead() protected
_configRead(string|null $key): mixed
Считывает ключ конфигурации.
Параметры
string|null$keyКлюч для чтения.
Возвращает
mixed$br>_configWrite() protected
_configWrite(string|array $key, mixed $value, bool|string $merge = false): void
Записывает ключ конфигурации.
Параметры
string|array$keyКлюч для записи.
mixed$valueЗначение для записи.
bool|string$merge необязательноИстина для рекурсивного объединения, 'shallow' для простого объединения, ложь для перезаписи, по умолчанию ложь.
Возвращает
void$br>Исключения
Cake\Core\Exception\CakeException$br>authorize() public
authorize(arrayArrayAccess $user, Cake\Http\ServerRequest $request): bool
Проверяет авторизацию пользователя с помощью обратного вызова контроллера.
Параметры
arrayArrayAccess$userДанные активного пользователя
Cake\Http\ServerRequest$requestЭкземпляр запроса.
Возвращает
bool$br>Исключения
Cake\Core\Exception\CakeException$br>configShallow() public
configShallow(string|array $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->configShallow('key', $value);$p>Установка вложенного значения:$this->configShallow('some.nested.key', $value);$p>Обновление нескольких настроек конфигурации одновременно:$this->configShallow(['one' => 'value', 'another' => 'value']);$h4 Параметры
string|array$keyКлюч для установки или весь массив конфигурации.
mixed|null$value необязательноЗначение для установки.
Возвращает
$this$br>controller() public
controller(Cake\Controller\Controller|null $controller = null): Cake\Controller\Controller
Получение/установка контроллера, с которым будет работать этот объект авторизации. Также проверяет, что реализован метод isAuthorized.
Параметры
Cake\Controller\Controller|null$controller необязательноnull для получения, контроллер для установки.
Возвращает
Cake\Controller\Controller$br>getConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();$p>Чтение определенного значения:
$this->getConfig('key');$p>Чтение вложенного значения:$this->getConfig('some.nested.key');$p>Чтение со значением по умолчанию:$this->getConfig('some-key', 'default-value');$h4 Параметрыstring|null$key необязательноКлюч для получения или null для всей конфигурации.
mixed$default необязательноВозвращаемое значение, когда ключ не существует.
Возвращает
mixed$br>getConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для указанного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
string$keyКлюч для получения.
Возвращает
mixed$br>Исключения
InvalidArgumentException$br>setConfig() public
setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value);$p>Установка вложенного значения:$this->setConfig('some.nested.key', $value);$p>Обновление нескольких настроек конфигурации одновременно:$this->setConfig(['one' => 'value', 'another' => 'value']);$h4 Параметры
string|array$keyКлюч для установки или весь массив конфигурации.
mixed|null$value необязательноЗначение для установки.
bool$merge необязательноВыполнять рекурсивное объединение или перезапись существующей конфигурации, по умолчанию истинно.
Возвращает
$this$br>Исключения
Cake\Core\Exception\CakeException$br>Подробное описание свойств
$_Controller protected
Контроллер для запроса.
Тип
Cake\Controller\Controller$br>$_config protected
Конфигурация в реальном времени
Тип
array$br>$_configInitialized protected
Установлена ли конфигурация свойства значениями по умолчанию
Тип
bool$br>$_defaultConfig protected
Конфигурация по умолчанию для объектов authorize.
Тип
array$br>$_registry protected
Экземпляр ComponentRegistry для получения дополнительных компонентов.
Тип
Cake\Controller\ComponentRegistry$br>
© 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/4.2/class-Cake.Auth.ControllerAuthorize.html