Класс AclComponent
Фабричный класс списка управления доступом.
Использует шаблон стратегии, чтобы позволить использовать пользовательские реализации ACL с тем же интерфейсом компонента. Вы можете определить, изменив Configure::write('Acl.classname', 'DbAcl'); в вашем core.php. Указанный адаптер должен реализовывать AclInterface
- Объект
-
Компонент -
AclComponent
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Controller/Component/AclComponent.php
Краткое описание свойств
-
$AcopublicОбъект Acostring -
$AropublicОбъект Aro.string - Экземпляр класса ACL
$_Instanceprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор. Вернёт экземпляр правильного класса ACL, как определено в
Configure::read('Acl.classname') - adapter() publicУстанавливает или получает объект-адаптер, текущий в AclComponent.
- allow() public
Функция-проход для экземпляра ACL allow. Методы allow используются для предоставления ARO доступа к ACO.
- check() public
Функция-проход для экземпляра ACL check. Методы check используются для проверки возможности доступа ARO к ACO
- deny() public
Функция-проход для экземпляра ACL deny. Методы deny используются для удаления разрешений ARO на доступ к ACO.
- grant() publicФункция-проход для экземпляра ACL grant. Псевдоним для AclComponent::allow()
- inherit() public
Функция-проход для экземпляра ACL inherit. Методы inherit изменяют разрешения ARO на те, что у его родительского объекта.
- revoke() publicФункция-проход для экземпляра ACL grant. Псевдоним для AclComponent::deny()
Подробное описание методов
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор. Вернёт экземпляр правильного класса ACL, как определено в Configure::read('Acl.classname')
Параметры
-
ComponentCollection$collection - Экземпляр коллекции.
- массив
$settingsнеобязательно array() - Список настроек.
Исключения
CakeExceptionпри невозможности загрузки Acl.classname.
Переопределяет
Component::__construct() adapter()source public
adapter( AclInterface|string $adapter null )
Устанавливает или получает объект-адаптер, текущий в AclComponent.
$this->Acl->adapter(); получит текущий класс адаптера, а $this->Acl->adapter($obj); установит класс адаптера
Вызовет метод initialize у адаптера, если устанавливается новый.
Параметры
-
AclInterface|строка$adapterнеобязательно null - Экземпляр AclInterface или строковое имя класса для использования. (необязательно)
Возвращает
AclInterface|nullЛибо null, либо реализацию адаптера.
Исключения
CakeExceptionесли данный класс не является экземпляром AclInterface
allow()source public
allow( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL allow. Методы allow используются для предоставления ARO доступа к ACO.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
check()source public
check( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL check. Методы check используются для проверки возможности доступа ARO к ACO
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
deny()source public
deny( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL deny. Методы deny используются для удаления разрешений ARO на доступ к ACO.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
grant()source public
grant( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL grant. Псевдоним для AclComponent::allow()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
inherit()source public
inherit( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL inherit. Методы inherit изменяют разрешения ARO на те, что у его родительского объекта.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
revoke()source public
revoke( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-проход для экземпляра ACL grant. Псевдоним для AclComponent::deny()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. Смотрите
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. Смотрите
AclNode::node()для возможных форматов - строка
$actionнеобязательно "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Наследуемые методы из Component
__get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- string
$name - Имя компонента для получения.
Возвращаемое значение
mixedОбъект Component или null.
beforeRedirect()source public
beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )
Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет произведён редирект, на новый URL. Возвращаемое значение этого метода может быть массивом или строкой.
Если возвращаемое значение — массив и содержит ключ 'url'. Вы также можете указать следующие параметры:
-
statusКод состояния редиректа -
exitВыход после редиректа.
Если возвращаемое значение — строка или массив, не содержащий ключа 'url', оно будет использовано в качестве нового URL для редиректа.
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRedirect
- string|array
$url - Строка или массив URL, на который происходит редирект.
- integer
$statusoptional null - Код состояния редиректа
- boolean
$exitoptional true - Выход из скрипта после редиректа.
Возвращаемое значение
array|nullМассив или null.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitialize()source public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом данных в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения работы
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartup()source public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера.
Параметры
-
Controller$controller - Контроллер с компонентами для запуска
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::startupНаследуемые методы из Object
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойствами в определении $class. Значение свойства этого класса будет объединено поверх значения $class.
Это обеспечивает некоторую "DRY-магию" CakePHP. Если вы хотите отключить эту функцию, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeoptional true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesoptional array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusoptional 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает объектно-ориентированный обертки для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsoptional array() - Список параметров для вызова $method
Возвращаемое значение
mixedВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения дополнительной информации о записи в журналы.
Параметры
- string
$msg - Сообщение журнала
- integer
$typeoptional LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|string|array
$scopeoptional 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.
Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraoptional array() Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неудаче, или содержимое отрисованного действия, если 'return' установлен в $extra.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределять этот метод по необходимости.
Возвращаемое значение
stringИмя этого класса
Подробности свойств
© 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-AclComponent.html