Class CrudAuthorize
An authorization adapter for AuthComponent. Provides the ability to authorize using CRUD mappings. CRUD mappings allow you to translate controller actions into Create Read Update Delete actions. This is then checked in the AclComponent as specific permissions.
For example, taking /posts/index
as the current request. The default mapping for index
, is a read
permission
check. The Acl check would then be for the posts
controller with the read
permission. This allows you
to create permission systems that focus more on what is being done to resources, rather than the specific actions
being visited.
- BaseAuthorize
- CrudAuthorize
Since: 2.0
See: AuthComponent::$authenticate
See: AclComponent::check()
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Auth/CrudAuthorize.php
Inherited Properties
Method Summary
-
__construct() public
Sets up additional actionMap values that match the configuredRouting.prefixes
. -
_setPrefixMappings() protected
sets the crud mappings for prefix routes. -
authorize() public
Authorize a user using the mapped actions and the AclComponent.
Method Detail
__construct() public ¶
__construct( ComponentCollection
$collection , string $settings = array() )
Sets up additional actionMap values that match the configured Routing.prefixes
.
Parameters
-
ComponentCollection
$collection - The component collection from the controller.
- string $settings optional array()
- An array of settings. This class does not use any settings.
Overrides
authorize() public ¶
authorize( array $user , CakeRequest
$request )
Authorize a user using the mapped actions and the AclComponent.
Parameters
- array $user
- The user to authorize
-
CakeRequest
$request - The request needing authorization.
Returns
Methods inherited from BaseAuthorize
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'
Returns
the action path for the given request.
controller() public ¶
controller( Controller
$controller = null )
Accessor to the controller object.
Parameters
-
Controller
$controller optional null - null to get, a controller to set.
Returns
Throws
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')); }}}
Create mappings for custom CRUD operations:
{{{ $this->Auth->mapActions(array('my_action' => 'admin')); }}}
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. When using with DbAcl, you'll have to add additional _admin type columns
to the aros_acos
table.
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.