Класс IniAcl
IniAcl реализует систему управления доступом, используя файл INI. Пример используемого файла ini можно найти в /config/acl.ini.php.
- Объект
-
IniAcl реализует AclInterface
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Controller/Component/Acl/IniAcl.php
Краткое описание свойств
-
$configpublicМассив с конфигурацией, распарсенный из файла iniarray -
$userPathpublicstringПуть Hash::extract() к идентификатору пользователя/aro в файле acl.ini. Этот путь будет использоваться для извлечения строкового представления пользователя, используемого в файле ini.
Краткое описание методов
- allow() publicМетод-заглушка, allow не может быть выполнен с IniAcl
- arrayTrim() publicУдаляет хвостовые пробелы из всех элементов массива (для подготовки к поиску)
- check() public
Основная функция проверки ACL. Проверяет, имеет ли ARO (объект запроса доступа) доступ к ACO (объект управления доступом). Ищет разрешения в файле acl.ini.php (см. инструкции в /config/acl.ini.php).
- deny() publicМетод-заглушка, deny не может быть выполнен с IniAcl
- inherit() publicМетод-заглушка, inherit не может быть выполнен с IniAcl
- initialize() publicМетод инициализации
- readConfigFile() public
Парсит файл INI и возвращает массив, отражающий структуру секций файла INI. Поддерживает двойные кавычки.
Подробное описание методов
allow()source public
allow( string $aro , string $aco , string $action "*" )
Метод-заглушка, allow не может быть выполнен с IniAcl
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::allow() arrayTrim()source public
arrayTrim( array $array )
Удаляет хвостовые пробелы из всех элементов массива (для подготовки к поиску)
Параметры
- массив
$array - Массив для обрезки
Возвращает
массивОбрезанный массив
check()source public
check( string $aro , string $aco , string $action null )
Основная функция проверки ACL. Проверяет, имеет ли ARO (объект запроса доступа) доступ к ACO (объект управления доступом). Ищет разрешения в файле acl.ini.php (см. инструкции в /config/acl.ini.php).
Параметры
- строка
$aro - ARO
- строка
$aco - ACO
- строка
$actionнеобязательно null - Действие
Возвращает
booleanУспех
Реализация
AclInterface::check() deny()source public
deny( string $aro , string $aco , string $action "*" )
Метод-заглушка, deny не может быть выполнен с IniAcl
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::deny() inherit()source public
inherit( string $aro , string $aco , string $action "*" )
Метод-заглушка, inherit не может быть выполнен с IniAcl
Параметры
- строка
$aro - ARO Идентификатор запрашивающего объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Реализация
AclInterface::inherit() initialize()source public
initialize( Component $component )
Метод инициализации
Параметры
-
Component$component - Экземпляр AclComponent.
Реализация
AclInterface::initialize() readConfigFile()source public
readConfigFile( string $filename )
Парсит файл INI и возвращает массив, отражающий структуру секций файла INI. Поддерживает двойные кавычки.
Параметры
- строка
$filename - Файл
Возвращает
массивСтруктура секций INI
Наследованные методы от Объекта
_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() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает ОО оболочку для 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необязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/передаваемых аргументов.
Возвращает
mixedБулевое значение true или false при успехе/неудачи, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаНазвание этого класса
Подробное описание свойств
$userPathsource
public строка
Путь Hash::extract() к идентификатору пользователя/aro в файле acl.ini. Этот путь будет использоваться для извлечения строкового представления пользователя, используемого в файле ini.
'User.username'
© 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-IniAcl.html