Класс CrudAuthorize
Адаптер авторизации для компонента AuthComponent. Предоставляет возможность авторизации с использованием сопоставлений CRUD. Сопоставления CRUD позволяют переводить действия контроллера в действия *C*reate *R*ead *U*pdate *D*elete. Затем это проверяется в компоненте AclComponent как конкретные разрешения.
Например, взяв /posts/index в качестве текущего запроса. Стандартное сопоставление для index, это проверка разрешения read. Проверка Acl будет затем для контроллера posts с разрешением read. Это позволяет создавать системы разрешений, которые фокусируются больше на том, что делается с ресурсами, а не на конкретных действиях, которые посещаются.
- BaseAuthorize
-
CrudAuthorize
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С момента: 2.0
См.:
AuthComponent::$authenticateСм.:
AclComponent::check()Расположен по адресу Cake/Controller/Component/Auth/CrudAuthorize.php
Подробное описание метода
__constructsource public
__construct( ComponentCollection $collection , string $settings array() )
Настраивает дополнительные значения actionMap, соответствующие настроенным Routing.prefixes.
Параметры
-
ComponentCollection$collection - Коллекция компонентов из контроллера.
- строка
$settingsнеобязательно array() - Массив настроек. Этот класс не использует никаких настроек.
Переопределяет
BaseAuthorize::__construct() _setPrefixMappingssource protected
_setPrefixMappings( )
устанавливает сопоставления crud для префиксных маршрутов.
authorizesource public
authorize( array $user , CakeRequest $request )
Авторизует пользователя, используя сопоставленные действия и компонент AclComponent.
Параметры
- массив
$user - Пользователь, подлежащий авторизации
-
CakeRequest$request - Запрос, требующий авторизации.
Возвращает
booleanbool
Наследуемые методы из BaseAuthorize
actionsource public
action( CakeRequest $request , string $path '/:plugin/:controller/:action' )
Получить путь действия для данного запроса. В основном используется объектами авторизации, которым требуется получить информацию о плагине, контроллере и действии, которые вызываются.
Параметры
-
CakeRequest$request - Запрос, для которого требуется путь.
- строка
$pathнеобязательно '/:plugin/:controller/:action' - Формат пути.
Возвращает
stringпуть к действию для данного запроса.
controllersource public
controller( Controller $controller null )
Доступ к объекту контроллера.
Параметры
-
Controller$controllerнеобязательно null - null для получения, контроллер для установки.
Возвращает
mixedсмешанное значение
Исключения
CakeExceptionCakeException
mapActionssource public
mapActions( array $map array() )
Сопоставляет действия crud с фактическими именами действий. Используется для изменения или получения текущих сопоставленных действий.
Создайте дополнительные сопоставления для стандартной операции CRUD:
$this->Auth->mapActions(array('create' => array('add', 'register'));
Или аналогично:
$this->Auth->mapActions(array('register' => 'create', 'add' => 'create'));
Создайте сопоставления для пользовательских операций CRUD:
$this->Auth->mapActions(array('range' => 'search'));
Вы можете использовать пользовательские операции CRUD для создания дополнительных универсальных разрешений, которые ведут себя как операции CRUD. Для этого потребуются дополнительные столбцы в таблице поиска разрешений. Например, если кто-то хотел дополнительную операцию поиска CRUD, то он создал бы дополнительный столбец «_search» в таблице aros_acos. Аналогично можно создать пользовательскую операцию CRUD для административных функций, если это необходимо.
Параметры
- массив
$mapнеобязательно array() - Либо массив сопоставлений, либо не определено для получения текущих значений.
Возвращает
mixedЛибо текущие сопоставления, либо null при установке.
См. также
AuthComponent::mapActions()Свойства, унаследованные от BaseAuthorize
$_Collectionsource
protected ComponentCollection
Экземпляр коллекции компонентов для получения дополнительных компонентов.
$settingssource
public массив
Настройки для объектов авторизации.
-
actionPath- Путь к узлам ACO, содержащим узлы для контроллеров. Используется как префикс при вызове $this->action(); -
actionMap- Сопоставления действие -> crud. Используется объектами авторизации, которые хотят сопоставлять действия с ролями CRUD. -
userModel- Имя модели, под которой можно найти записи ARO. По умолчанию «User».
array( 'actionPath' => null, 'actionMap' => array( 'index' => 'read', 'add' => 'create', 'edit' => 'update', 'view' => 'read', 'delete' => 'delete', 'remove' => 'delete' ), 'userModel' => 'User' )
© 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-CrudAuthorize.html