Spec-Zone.ru › CakePHP 3.8

Класс ControllerAuthorize

Адаптер авторизации для AuthComponent. Предоставляет возможность авторизации с помощью обратного вызова контроллера. Метод isAuthorized() вашего контроллера должен возвращать boolean, чтобы указать, авторизован ли пользователь.

public function isAuthorized($user)
 {
     if ($this->request->getParam('admin')) {
         return $user['role'] === 'admin';
     }
     return !empty($user);
 }

Выше представлено простое реализация, которая будет авторизовывать только пользователей с ролью «admin» для доступа к маршрутам администрирования.

Cake\Auth\BaseAuthorize использует Cake\Core\InstanceConfigTrait
Расширенно Cake\Auth\ControllerAuthorize
Пространство имен: Cake\Auth
См.: \Cake\Controller\Component\AuthComponent::$authenticate
Расположение: Auth/ControllerAuthorize.php

Резюме свойств

  • $_Controller protected
    Cake\Controller\Controller
    Контроллер для запроса.

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

  • _defaultConfig, _registry _config, _configInitialized

Резюме методов

  • __construct() public
    Конструктор
  • authorize() public
    Проверяет авторизацию пользователя с помощью обратного вызова контроллера.
  • controller() public

    Получение/установка контроллера, с которым будет работать этот объект авторизации. Также проверяет, реализован ли метод isAuthorized.

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

__construct()source public

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

Конструктор

Параметры

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

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

Cake\Auth\BaseAuthorize::__construct()

authorize()source public

authorize( array|ArrayAccess $user , Cake\Http\ServerRequest $request )

Проверяет авторизацию пользователя с помощью обратного вызова контроллера.

Параметры

массив|ArrayAccess $user
Данные активного пользователя
Cake\Http\ServerRequest $request
Экземпляр запроса.

Возвращает

boolean

controller()source public

controller( Cake\Controller\Controller $controller = null )

Получение/установка контроллера, с которым будет работать этот объект авторизации. Также проверяет, реализован ли метод isAuthorized.

Параметры

Cake\Controller\Controller $controller необязательно null
null для получения, контроллер для установки.

Возвращает

Cake\Controller\Controller

Исключения

Cake\Core\Exception\Exception
Если контроллер не имеет метода isAuthorized().

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

_configDelete()source protected

_configDelete( string $key )

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

Параметры

строка $key
Ключ для удаления.

Исключения

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

_configRead()source protected

_configRead( string|null $key )

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

Параметры

строка|null $key
Ключ для чтения.

Возвращает

смешанный

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Записывает ключ конфигурации.

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
boolean|строка $merge необязательно false

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Исключения

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() вместо.

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Рекурсивно слить или перезаписать существующую конфигурацию, по умолчанию true.

Возвращает

смешанный
Считываемое значение конфигурации или сам объект при операциях записи.

Исключения

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']);

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|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');

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
смешанный $default необязательно null
Возвращаемое значение, если ключ не существует.

Возвращает

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

Параметры

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

Возвращает


$this

Исключения

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

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

$_Controllersource

protected Cake\Controller\Controller

Контроллер для запроса.

© 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.Auth.ControllerAuthorize.html

Spec-Zone.ru

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