Класс PhpAcl
PhpAcl реализует систему управления доступом, используя обычный PHP-конфигурационный файл. Пример файла можно найти в app/Config/acl.php
- CakeObject
-
PhpAcl реализует AclInterface
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/Acl/PhpAcl.php
Краткое описание констант
-
booleantrue -
booleanfalse
Краткое описание свойств
- Объект Aco
$Acopublic - Объект Aro
$Aropublic -
$optionspublicarrayПараметры: - policy: определяет поведение метода check. Политика Deny требует явных правил allow, политика allow требует явных правил deny - config: абсолютный путь к конфигурационному файлу, содержащему правила доступа (@см. app/Config/acl.php)
Краткое описание методов
- __construct() publicКонструктор
- allow() publicМетод без действия, allow нельзя выполнить с PhpAcl
- build() publicПостроение и настройка внутренней репрезентации ACL
- check() public
Основная функция проверки ACL. Проверяет, имеет ли ARO (объект запроса доступа) доступ к ACO (объекту управления доступом).
- deny() publicОтказать ARO в доступе к ACO
- inherit() publicМетод без действия
- initialize() publicМетод инициализации
Подробное описание методов
__construct()source public
__construct( )
Конструктор
Настройка нескольких стандартных параметров.
Переопределяет
CakeObject::__construct() allow()source public
allow( string $aro , string $aco , string $action "*" )
Метод без действия, allow нельзя выполнить с PhpAcl
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::allow() build()source public
build( array $config )
Построение и настройка внутренней репрезентации ACL
Параметры
- массив
$config - конфигурационный массив, см. документацию
Выбрасывает
AclExceptionЕсли отсутствуют необходимые ключи.
check()source public
check( string $aro , string $aco , string $action "*" )
Основная функция проверки ACL. Проверяет, имеет ли ARO (объект запроса доступа) доступ к ACO (объекту управления доступом).
Параметры
- строка
$aro - ARO
- строка
$aco - ACO
- строка
$actionнеобязательно "*" - Действие
Возвращает
booleantrue, если доступ предоставлен, false в противном случае
Реализация
AclInterface::check() deny()source public
deny( string $aro , string $aco , string $action "*" )
Отказать ARO в доступе к ACO
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::deny() inherit()source public
inherit( string $aro , string $aco , string $action "*" )
Метод без действия
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::inherit() initialize()source public
initialize( Component $Component )
Метод инициализации
Параметры
-
Component$Component - Экземпляр компонента
Реализация
AclInterface::initialize() Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойствами в определении класса $class. Значение свойства этого класса будет объединено поверх $class'
Это обеспечивает некоторую из DRY-магии CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Разрешает установку нескольких свойств объекта в одной строке кода. Установит только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего сценария. Обёртка для exit(), что упрощает тестирование.
Параметры
- целое число/строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Области, в которых создается сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().
Возвращаемое значение
booleanУспешность записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для соединения контроллеров или интеграции плагинов в основное приложение. requestAction может использоваться для возвращения рендеренных представлений или извлечения возвращаемого значения от действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Следует использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Для данных GET используйте $extra['url']. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url URL на основе строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно array() если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неуспехе или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$optionssource
public массив
Параметры: - policy: определяет поведение метода check. Политика Deny требует явных правил разрешения, политика Allow требует явных правил запрета - config: абсолютный путь к файлу конфигурации, содержащему правила acl (@см. app/Config/acl.php)
array()
© 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/2.10/class-PhpAcl.html