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.
Routing.prefixes
. __construct( ComponentCollection $collection , string $settings array() )
Sets up additional actionMap values that match the configured Routing.prefixes
.
ComponentCollection
$collection
$settings
optional array() BaseAuthorize::__construct()
_setPrefixMappings( )
sets the crud mappings for prefix routes.
authorize( array $user , CakeRequest $request )
Authorize a user using the mapped actions and the AclComponent.
$user
CakeRequest
$request
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.
CakeRequest
$request
$path
optional '/:plugin/:controller/:action' controller( Controller $controller null )
Accessor to the controller object.
Controller
$controller
optional null CakeException
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.
$map
optional array()
© 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.8/class-CrudAuthorize.html