Spec-Zone.ru › CakePHP 3.5

Класс 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
Extended by 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
Возвращаемое значение, когда ключ не существует.

Возвращает

смешанный
Значение считанной конфигурации.

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–2018 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.5/class-Cake.Auth.ControllerAuthorize.html

Spec-Zone.ru

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