Spec-Zone.ru › CakePHP 2.7

Класс DbAcl

DbAcl реализует систему контроля доступа (ACL) в базе данных. ARO и ACO структурированы в виде деревьев, а для определения разрешений используется связующая таблица. Вы можете установить схему для DbAcl с помощью Schema Shell.

$aco и $aro параметры могут быть разделителями путей к узлам дерева.

например, controllers/Users/edit

указывает на древовидную структуру, подобную

controllers
        Users
                edit
Объект
Extended by DbAcl реализует AclInterface
Пакет: Cake\Controller\Component\Acl
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение Cake/Controller/Component/Acl/DbAcl.php

Подробное описание методов

__constructsource public

__construct( )

Конструктор

Переопределяет

Object::__construct()

_getAcoKeyssource protected

_getAcoKeys( array $keys )

Получение ключей, используемых в ACO

Параметры

массив $keys
Информация о модели разрешений

Возвращает

array
Ключи ACO

allowsource public

allow( string $aro , string $aco , string $actions "*" , integer $value 1 )

Разрешить $aro доступ к действию $actions в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $actions необязательно "*"
Действие (по умолчанию *)
целое число $value необязательно 1
Значение, указывающее тип доступа (1 для предоставления доступа, -1 для отказа, 0 для наследования)

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html#assigning-permissions

Реализация

AclInterface::allow()

checksource public

check( string $aro , string $aco , string $action "*" )

Проверяет, имеет ли заданный $aro доступ к действию $action в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $action необязательно "*"
Действие (по умолчанию *)

Возвращает

boolean
Успех (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()

denysource public

deny( string $aro , string $aco , string $action "*" )

Отказать доступ для $aro к действию $action в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $action необязательно "*"
Действие (по умолчанию *)

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/access-control-lists.html#assigning-permissions

Реализация

AclInterface::deny()

getAclLinksource public

getAclLink( string $aro , string $aco )

Получить массив связей контроля доступа между заданным Aro и Aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.

Возвращает

array
Индексированный массив с: 'aro', 'aco' и 'link'

grantsource public

grant( string $aro , string $aco , string $action "*" )

Разрешить $aro доступ к действию $actions в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $action необязательно "*"
Действие (по умолчанию *)

Возвращает

boolean
Успех

См. также

DbAcl::allow()

inheritsource public

inherit( string $aro , string $aco , string $action "*" )

Разрешить наследование доступа для $aro к действию $action в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $action необязательно "*"
Действие (по умолчанию *)

Возвращает

boolean
Успех

Реализация

AclInterface::inherit()

initializesource public

initialize( Component $component )

Инициализирует содержащий компонент и устанавливает для него объекты Aro/Aco.

Параметры

Component $component
Экземпляр AclComponent.

Реализация

AclInterface::initialize()

revokesource public

revoke( string $aro , string $aco , string $action "*" )

Отказать доступ для $aro к действию $action в $aco

Параметры

строка $aro
ARO Идентификатор запрашиваемого объекта.
строка $aco
ACO Идентификатор контролируемого объекта.
строка $action необязательно "*"
Действие (по умолчанию *)

Возвращает

boolean
Успех

См. также

DbAcl::deny()

Наследованные методы от Объект

_mergeVarssource protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства $property этого объекта со свойствами в определении $class. Значение свойства этого класса будет объединено поверх $class'

Это обеспечивает часть функциональности DRY, предоставляемой CakePHP. Если вы хотите его отключить, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойства с ним.
логическое $normalize необязательно true
Установите в значение true, чтобы выполнить нормализацию свойств с помощью Hash::normalize() перед объединением.

_setsource protected

_set( array $properties array() )

Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, являющиеся частью объявления класса.

Параметры

массив $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Остановка выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число|строка $status необязательно 0
См. http://php.net/exit для значений
END_OF_DOCUMENT_MARKER

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|строка|массив $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
Имя этого класса

© 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-DbAcl.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API