Spec-Zone.ru › CakePHP 3.4

Класс ControllerAuthorize

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

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
Контроллер для этого запроса.
array $config optional []
Массив настроек. Этот класс не использует никаких настроек.

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

Cake\Auth\BaseAuthorize::__construct()

authorize()source public

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

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

Параметры

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

Возвращает

boolean

controller()source public

controller( Cake\Controller\Controller $controller null )

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

Параметры

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

Возвращает

Cake\Controller\Controller

Исключения

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

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

_configDelete()source protected

_configDelete( string $key )

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

Параметры

string $key
Ключ для удаления.

Исключения

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

_configRead()source protected

_configRead( string|null $key )

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

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

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

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

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge optional 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() вместо этого.

Параметры

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

Возвращает

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

Исключения

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

Параметры

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

Параметры

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

Возвращает

mixed
Значение конфигурации, которое считывается.

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

Параметры

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

Возвращает


$this

Исключения

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

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

$_Controllersource

protected Cake\Controller\Controller

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

© 2005–2017 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.4/class-Cake.Auth.ControllerAuthorize.html

Spec-Zone.ru

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