Класс PhpAcl
PhpAcl реализует систему управления доступом, используя обычный конфигурационный файл PHP. Пример файла можно найти в app/Config/acl.php
- Объект
-
PhpAcl реализует AclInterface
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Controller/Component/Acl/PhpAcl.php
Краткое описание констант
-
booleantrue -
booleanfalse
Краткое описание свойств
- Объект Aco
$Acopublic - Объект Aro
$Aropublic -
$optionspublicarrayПараметры: - policy: определяет поведение метода check. Политика Deny требует явных правил allow, политика allow требует явных правил deny - config: абсолютный путь к конфигурационному файлу, содержащему правила acl (@см. 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( )
Конструктор
Устанавливает несколько значений по умолчанию.
Переопределяет
Object::__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() Методы, унаследованные от Объект
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства данного объекта $property со свойствами в определении $class. Значение данного класса для свойства будет объединено поверх значения $class'
Это обеспечивает некоторые из возможностей DRY, предоставляемые CakePHP. Если вы хотите отключить это, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- булево
$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() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет OO обертку для call_user_func_array
Параметры
- строка
$method - Имя метода для вызова
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
смешанноеВозвращает результат вызова метода
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. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно массив() Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может быть использован для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
смешанноеБулево значение true или false при успехе/неудачи, или содержимое рендеренного действия, если в $extra задан ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробности свойств
$optionssource
public массив
Параметры: - policy: определяет поведение метода check. Политика Deny требует явных правил разрешения, политика Allow требует явных правил запрета - config: абсолютный путь к файлу конфигурации, содержащий правила ACL (@см. app/Config/acl.php)
array()
© 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/2.8/class-PhpAcl.html