Класс DbAcl
DbAcl реализует систему управления доступом (ACL) в базе данных. ARO и ACO структурированы в виде деревьев, а таблица связей используется для определения разрешений. Вы можете установить схему для DbAcl с помощью Schema Shell.
Параметры $aco и $aro могут быть путями к узлам дерева, разделёнными слешами.
Например, controllers/Users/edit
Указывает на структуру дерева, подобную
controllers
Users
edit - Объект
-
DbAcl реализует AclInterface
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/Acl/DbAcl.php
Краткое описание методов
- __construct() publicКонструктор
- _getAcoKeys() protectedПолучение ключей, используемых в ACO
- allow() publicРазрешить $aro доступ к действиям $actions в $aco
- check() publicПроверка наличия доступа у $aro к действию $action в $aco
- deny() publicЗапретить доступ для $aro к действию $action в $aco
- getAclLink() publicПолучение массива ссылок контроля доступа между заданным Aro и Aco
- grant() publicРазрешить $aro доступ к действиям $actions в $aco
- inherit() publicРазрешить наследование доступа для $aro к действию $action в $aco
- initialize() publicИнициализирует содержащий компонент и устанавливает объекты Aro/Aco в него.
- revoke() publicЗапретить доступ для $aro к действию $action в $aco
Подробное описание методов
_getAcoKeys()source protected
_getAcoKeys( array $keys )
Получить ключи, используемые в ACO
Параметры
- массив
$keys - Информация о модели разрешений
Возвращает
массивКлючи ACO
allow()source public
allow( string $aro , string $aco , string $actions "*" , integer $value 1 )
Разрешить $aro доступ к действию $actions в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionsнеобязательно "*" - Действие (по умолчанию *)
- целое число
$valueнеобязательно 1 - Значение для указания типа доступа (1 для предоставления доступа, -1 для запрета, 0 для наследования)
Возвращает
булево значениеУспех
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html#assigning-permissionsРеализация
AclInterface::allow() check()source public
check( string $aro , string $aco , string $action "*" )
Проверяет, имеет ли заданный $aro доступ к действию $action в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
булево значениеУспех (true, если ARO имеет доступ к действию в ACO, иначе false)
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html#checking-permissions-the-acl-componentРеализация
AclInterface::check() deny()source public
deny( string $aro , string $aco , string $action "*" )
Запретить доступ для $aro к действию $action в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
булево значениеУспех
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html#assigning-permissionsРеализация
AclInterface::deny() getAclLink()source public
getAclLink( string $aro , string $aco )
Получить массив связей контроля доступа между заданным Aro и Aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
Возвращает
массивИндексированный массив с: 'aro', 'aco' и 'link'
grant()source public
grant( string $aro , string $aco , string $action "*" )
Разрешить $aro доступ к действию $actions в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
булево значениеУспех
См.
DbAcl::allow()inherit()source public
inherit( string $aro , string $aco , string $action "*" )
Допустить наследование доступа для $aro к действию $action в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
булево значениеУспех
Реализация
AclInterface::inherit() initialize()source public
initialize( Component $component )
Инициализирует содержащий компонент и устанавливает объекты Aro/Aco в него.
Параметры
-
Component$component - Экземпляр AclComponent.
Реализация
AclInterface::initialize() revoke()source public
revoke( string $aro , string $aco , string $action "*" )
Запретить доступ для $aro к действию $action в $aco
Параметры
- строка
$aro - ARO Идентификатор запрашиваемого объекта.
- строка
$aco - ACO Идентификатор контролируемого объекта.
- строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
булево значениеУспех
См.
DbAcl::deny()Методы, унаследованные от Объект
_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() для получения дополнительной информации о областях ведения журнала.
Возвращает
логическое значениеРезультат записи в журнал
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 и именованных/переданных аргументов.
Возвращает
смешанноеБулево значение true или false при успешном/неудачном выполнении, или содержимое рендеренного действия, если в $extra задан ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
© 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-DbAcl.html