Класс AclComponent
Фабричный класс списка управления доступом.
Использует шаблон стратегии, чтобы разрешить использование пользовательских реализаций ACL с тем же интерфейсом компонента. Вы можете определить его, изменив Configure::write('Acl.classname', 'DbAcl'); в вашем файле core.php. Указанный вами адаптер должен реализовывать AclInterface
- CakeObject
-
Компонент
-
AclComponent
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://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()исходный код public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор. Возвращает экземпляр соответствующего класса ACL, как определено в Configure::read('Acl.classname')
Параметры
-
ComponentCollection$collection - Экземпляр коллекции.
- массив
$settingsнеобязательно array() - Список настроек.
Исключения
CakeExceptionесли класс Acl.classname не удалось загрузить.
Переопределяет
Component::__construct() adapter()исходный код public
adapter( AclInterface|string $adapter null )
Устанавливает или получает объект адаптера, который сейчас используется в AclComponent.
$this->Acl->adapter(); получит текущий класс адаптера, а $this->Acl->adapter($obj); установит класс адаптера
Вызовет метод initialize адаптера, если будет задан новый.
Параметры
-
AclInterface|строка$adapterнеобязательно null - Экземпляр AclInterface или строковое имя класса для использования. (необязательно)
Возвращает
AclInterface|nullnull или реализация адаптера.
Исключения
CakeExceptionесли заданный класс не является экземпляром AclInterface
allow()исходный код 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()исходный код 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()исходный код 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()исходный код 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()исходный код 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()исходный код 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.
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitialize()source public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом данных в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения работы
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartup()source public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера
Параметры
-
Controller$controller - Контроллер с компонентами для запуска
Ссылка
https://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
$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 и именованных/переданных аргументов.
Возвращаемое значение
mixedBoolean true или false об успехе/неудачи, или содержимое рендерного действия, если 'return' задан в $extra.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращаемое значение
stringИмя этого класса
Подробное описание свойств
© 2005–2017 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.10/class-AclComponent.html