Class ControllerAuthorize
An authorization adapter for AuthComponent. Provides the ability to authorize using a controller callback. Your controller's isAuthorized() method should return a boolean to indicate whether or not the user is authorized.
public function isAuthorized($user) { if (!empty($this->request->params['admin'])) { return $user['role'] === 'admin'; } return !empty($user); }
the above is simple implementation that would only authorize users of the 'admin' role to access admin routing.
- BaseAuthorize
- ControllerAuthorize
Since: 2.0
See: AuthComponent::$authenticate
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Auth/ControllerAuthorize.php
Inherited Properties
Method Summary
-
authorize() public
Checks user authorization using a controller callback. -
controller() public
Get/set the controller this authorize object will be working with. Also checks that isAuthorized is implemented.
Method Detail
authorize() public ¶
authorize( array $user , CakeRequest
$request )
Checks user authorization using a controller callback.
Parameters
- array $user
- Active user data
-
CakeRequest
$request - Request instance.
Returns
controller() public ¶
controller( Controller
$controller = null )
Get/set the controller this authorize object will be working with. Also checks that isAuthorized is implemented.
Parameters
-
Controller
$controller optional null - null to get, a controller to set.
Returns
Throws
Overrides
Methods inherited from BaseAuthorize
__construct() 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() 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
the action path for the given request.
mapActions() 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
Either the current mappings or null when setting.