Класс AclComponent
Класс-фабрика списков управления доступом.
Использует шаблон стратегии, позволяя использовать пользовательские реализации ACL с тем же интерфейсом компонента. Вы можете определить их, изменив Configure::write('Acl.classname', 'DbAcl'); в вашем файле core.php. Указанный адаптер должен реализовывать AclInterface
- Объект
-
Компонент -
AclComponent
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html
Расположен в Cake/Controller/Component/AclComponent.php
Подробное описание методов
__constructsource public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор. Вернёт экземпляр корректного класса ACL, как определено в Configure::read('Acl.classname')
Параметры
-
ComponentCollection$collection - Экземпляр коллекции.
- массив
$settingsнеобязательный array() - Список настроек.
Исключения
CakeExceptionпри невозможности загрузки Acl.classname.
Переопределяет
Component::__construct() adaptersource public
adapter( AclInterface|string $adapter null )
Устанавливает или получает объект адаптера, текущий в AclComponent.
$this->Acl->adapter(); возвращает текущий класс адаптера, а $this->Acl->adapter($obj); устанавливает класс адаптера.
Вызовет метод initialize адаптера, если задан новый.
Параметры
-
AclInterface|строка$adapterнеобязательный null - Экземпляр AclInterface или имя класса для использования. (необязательно)
Возвращает
AclInterface|nullnull или реализацию адаптера.
Исключения
CakeExceptionпри несоответствии переданного класса интерфейсу AclInterface
allowsource public
allow( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция-прослойка для ACL allow instance. Методы allow используются для предоставления объекту ARO доступа к объекту ACO.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашиваемого объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
checksource public
check( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция для проверки доступа по ACL. Методы проверки используются для определения возможности доступа ARO к ACO.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
denysource public
deny( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция для отказа по ACL. Методы отказа используются для удаления разрешений ARO на доступ к ACO.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
grantsource public
grant( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция для предоставления доступа по ACL. Псевдоним для AclComponent::allow()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
inheritsource public
inherit( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция для наследования прав по ACL. Методы наследования изменяют права ARO, устанавливая их равными правам родительского объекта.
Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
revokesource public
revoke( array|string|Model $aro , array|string|Model $aco , string $action "*" )
Функция для отмены доступа по ACL. Псевдоним для AclComponent::deny()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- массив|строка|
Model$aro - ARO Идентификатор запрашивающего объекта. См.
AclNode::node()для возможных форматов - массив|строка|
Model$aco - ACO Идентификатор контролируемого объекта. См.
AclNode::node()для возможных форматов - строка
$actionнеобязательный "*" - Действие (по умолчанию *)
Возвращает
booleanУспех
Методы, унаследованные от Component
__getsource public
__get( string $name )
Магический метод для леничной загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращает
mixedОбъект компонента или null.
beforeRedirectsource 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
- строка|массив
$url - Строка или массив URL, к которому происходит перенаправление.
- целое число
$statusнеобязательный null - Код состояния перенаправления
- логическое значение
$exitнеобязательный true - Выход после перенаправления.
Возвращает
array|nullМассив или null.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRendersource public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitializesource public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdownsource public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом на экран браузера.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartupsource public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера
Параметры
-
Controller$controller - Контроллер с компонентами для запуска
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::startupМетоды, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства этого объекта $property со свойствами в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это предоставляет некоторую магию DRY, предоставляемую CakePHP. Если вы хотите ее отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Будет устанавливать только те свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число/строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную обертку для call_user_func_array
Параметры
- строка
$method - Имя метода для вызова
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
logsource 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|string|массив
$scopeнеобязательно null - Область(и), в которой создается сообщение журнала. См. CakeLog::config() для получения дополнительной информации о разделах журнала.
Возвращает
booleanУспешность записи в журнал
requestActionsource 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 и именованных/переданных аргументов.
Возвращает
mixedЛогическое значение true или false об успехе/неудачи, или содержимое рендерного действия, если в $extra установлен ключ 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Краткое описание свойств
Свойства, унаследованные от Component
$_Collectionsource
protected ComponentCollection
Класс коллекции компонентов, используемый для ленивой загрузки компонентов.
$_componentMapsource
protected массив
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
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.7/class-AclComponent.html