Spec-Zone.ru › CakePHP 3.1

Класс 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
Пространство имён: Cake\Auth
См.: 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
Экземпляр запроса.

Возвращает

boolean
bool

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
Сам объект.

Сводка свойств

$_Controllersource

protected Cake\Controller\Controller

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

null

Свойства, унаследованные от Cake\Auth\BaseAuthorize

$_defaultConfigsource

protected массив

Значения по умолчанию для объектов авторизации.

[]

$_registrysource

protected Cake\Controller\ComponentRegistry

Экземпляр ComponentRegistry для получения дополнительных компонентов.

Свойства, используемые из Cake\Core\InstanceConfigTrait

$_configsource

protected массив

Конфигурация во время выполнения

[]

$_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

Spec-Zone.ru

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