Spec-Zone.ru › CakePHP 2.7

Класс ControllerAuthorize

Адаптер авторизации для компонента AuthComponent. Предоставляет возможность авторизации с использованием обратного вызова контроллера. Метод isAuthorized() вашего контроллера должен возвращать булево значение, указывающее, авторизован ли пользователь.

public function isAuthorized($user) {
        if (!empty($this->request->params['admin'])) {
                return $user['role'] === 'admin';
        }
        return !empty($user);
}

выше приведён простой пример, который будет авторизовать только пользователей с ролью «admin» для доступа к маршрутам администратора.

BaseAuthorize
Extended by ControllerAuthorize
Пакет: Cake\Controller\Component\Auth
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
С версии: 2.0
См.: AuthComponent::$authenticate
Расположение Cake/Controller/Component/Auth/ControllerAuthorize.php

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

authorizesource public

authorize( array $user , CakeRequest $request )

Проверяет авторизацию пользователя с помощью обратного вызова контроллера.

Параметры

массив $user
Данные активного пользователя
CakeRequest $request
Экземпляр запроса.

Возвращает

boolean
bool

controllersource public

controller( Controller $controller null )

Получение/установка контроллера, с которым будет работать этот объект авторизации. Также проверяет, реализован ли метод isAuthorized.

Параметры

Controller $controller необязательно null
null для получения, контроллер для установки.

Возвращает

mixed
mixed

Вызывает исключение

CakeException
CakeException

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

BaseAuthorize::controller()

Методы, унаследованные от BaseAuthorize

__constructsource public

__construct( ComponentCollection $collection , string $settings array() )

Конструктор

Параметры

ComponentCollection $collection
Контроллер для данного запроса.
строка $settings необязательно array()
Массив настроек. Этот класс не использует никаких настроек.

actionsource public

action( CakeRequest $request , string $path '/:plugin/:controller/:action' )

Получение пути к действию для данного запроса. В основном используется объектами авторизации, которым необходимо получить информацию о плагине, контроллере и действии, вызываемом.

Параметры

CakeRequest $request
Запрос, для которого нужен путь.
строка $path необязательно '/:plugin/:controller/:action'
Формат пути.

Возвращает

string
путь к действию для данного запроса.

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()
Либо массив сопоставлений, либо undefined для получения текущих значений.

Возвращает

mixed
Либо текущие сопоставления, либо null при установке.

См.

AuthComponent::mapActions()

Свойства, унаследованные от BaseAuthorize

$_Collectionsource

protected ComponentCollection

Экземпляр коллекции компонентов для получения дополнительных компонентов.

$_Controllersource

protected Controller

Контроллер для запроса.

null

$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-ControllerAuthorize.html

Spec-Zone.ru

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