Class BaseAuthorize

Abstract base authorization adapter for AuthComponent.

Direct Subclasses

Abstract
Package: Cake\Controller\Component\Auth
Since: 2.0
See: AuthComponent::$authenticate
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Auth/BaseAuthorize.php

Properties summary

Method Summary

  • __construct() public
    Constructor
  • action() public

    Get the action path for a given request. Primarily used by authorize objects that need to get information about the plugin, controller, and action being invoked.

  • authorize() abstract public
    Checks user authorization.
  • controller() public
    Accessor to the controller object.
  • mapActions() public
    Maps crud actions to actual action names. Used to modify or get the current mapped actions.

Method Detail

__construct()source public

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

Constructor

Parameters

ComponentCollection $collection
The controller for this request.
string $settings optional array()
An array of settings. This class does not use any settings.

action()source public

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

Get the action path for a given request. Primarily used by authorize objects that need to get information about the plugin, controller, and action being invoked.

Parameters

CakeRequest $request
The request a path is needed for.
string $path optional '/:plugin/:controller/:action'
Path format.

Returns

string
the action path for the given request.

authorize()source abstract public

authorize( array $user , CakeRequest $request )

Checks user authorization.

Parameters

array $user
Active user data
CakeRequest $request
Request instance.

Returns

boolean

controller()source public

controller( Controller $controller null )

Accessor to the controller object.

Parameters

Controller $controller optional null
null to get, a controller to set.

Returns

mixed

Throws

CakeException

mapActions()source public

mapActions( array $map array() )

Maps crud actions to actual action names. Used to modify or get the current mapped actions.

Create additional mappings for a standard CRUD operation:

$this->Auth->mapActions(array('create' => array('add', 'register'));

Or equivalently:

$this->Auth->mapActions(array('register' => 'create', 'add' => 'create'));

Create mappings for custom CRUD operations:

$this->Auth->mapActions(array('range' => 'search'));

You can use the custom CRUD operations to create additional generic permissions that behave like CRUD operations. Doing this will require additional columns on the permissions lookup. For example if one wanted an additional search CRUD operation one would create and additional column '_search' in the aros_acos table. One could create a custom admin CRUD operation for administration functions similarly if needed.

Parameters

array $map optional array()
Either an array of mappings, or undefined to get current values.

Returns

mixed
Either the current mappings or null when setting.

See

AuthComponent::mapActions()

Properties detail

$_Collectionsource

protected ComponentCollection

Component collection instance for getting more components.

$_Controllersource

protected Controller

Controller for the request.

null

$settingssource

public array

Settings for authorize objects.

  • actionPath - The path to ACO nodes that contains the nodes for controllers. Used as a prefix when calling $this->action();
  • actionMap - Action -> crud mappings. Used by authorization objects that want to map actions to CRUD roles.
  • userModel - Model name that ARO records can be found under. Defaults to 'User'.
array(
    'actionPath' => null,
    'actionMap' => array(
        'index' => 'read',
        'add' => 'create',
        'edit' => 'update',
        'view' => 'read',
        'delete' => 'delete',
        'remove' => 'delete'
    ),
    'userModel' => 'User'
)

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