Класс AclComponent
Класс-фабрика списков управления доступом.
Использует шаблон стратегии, чтобы разрешить использование пользовательских реализаций ACL с тем же интерфейсом компонента. Вы можете определить их, изменив Configure::write('Acl.classname', 'DbAcl'); в вашем файле core.php. Указанный адаптер должен реализовывать AclInterface
- CakeObject
-
Компонент -
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Объект компонента или 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
$statusнеобязательно null - Код состояния перенаправления
- boolean
$exitнеобязательно 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Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property с свойствами в определении класса $class. Значение свойства этого класса будет объединено поверх значения $class'.
Это обеспечивает некоторую DRY-магию, предоставляемую CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в значение true, чтобы запустить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановка выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает объектно-ориентированную оболочку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. CakeLog::write().
Параметры
- string
$msg - Сообщение журнала
- integer
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|string|array
$scopeнеобязательно null Области (scope), в которых создается сообщение журнала. Более подробную информацию о разделах журнала см. 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
$extraнеобязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedЛогическое значение true или false при успехе/неуспехе, или содержимое рендеренного действия, если 'return' задан в $extra.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Подробное описание свойств
END_OF_DOCUMENT_MARKER
© 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.
https://api.cakephp.org/2.9/class-AclComponent.html