On this page
Class DbAcl
DbAcl implements an ACL control system in the database. ARO's and ACO's are structured into trees and a linking table is used to define permissions. You can install the schema for DbAcl with the Schema Shell.
$aco and $aro parameters can be slash delimited paths to tree nodes.
eg. controllers/Users/edit
Would point to a tree structure like
controllers
    Users
        edit- CakeObject
- DbAcl implements AclInterface 
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/Acl/DbAcl.php
Method Summary
- 
    __construct() publicConstructor
- 
    _getAcoKeys() protectedGet the keys used in an ACO
- 
    allow() publicAllow $aro to have access to action $actions in $aco
- 
    check() publicChecks if the given $aro has access to action $action in $aco
- 
    deny() publicDeny access for $aro to action $action in $aco
- 
    getAclLink() publicGet an array of access-control links between the given Aro and Aco
- 
    grant() publicAllow $aro to have access to action $actions in $aco
- 
    inherit() publicLet access for $aro to action $action in $aco be inherited
- 
    initialize() publicInitializes the containing component and sets the Aro/Aco objects to it.
- 
    revoke() publicDeny access for $aro to action $action in $aco
Method Detail
_getAcoKeys()source protected
_getAcoKeys( array $keys )Get the keys used in an ACO
Parameters
- 
     array $keys
- Permission model info
Returns
arrayACO keys
allow()source public
allow( string $aro , string $aco , string $actions "*" , integer $value 1 )Allow $aro to have access to action $actions in $aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionsoptional "*"
- Action (defaults to *)
- 
     integer $valueoptional 1
- Value to indicate access type (1 to give access, -1 to deny, 0 to inherit)
Returns
booleanSuccess
Link
https://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html#assigning-permissionsImplementation of
AclInterface::allow()
  check()source public
check( string $aro , string $aco , string $action "*" )Checks if the given $aro has access to action $action in $aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionoptional "*"
- Action (defaults to *)
Returns
booleanSuccess (true if ARO has access to action in ACO, false otherwise)
Link
https://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html#checking-permissions-the-acl-componentImplementation of
AclInterface::check()
  deny()source public
deny( string $aro , string $aco , string $action "*" )Deny access for $aro to action $action in $aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionoptional "*"
- Action (defaults to *)
Returns
booleanSuccess
Link
https://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html#assigning-permissionsImplementation of
AclInterface::deny()
  getAclLink()source public
getAclLink( string $aro , string $aco )Get an array of access-control links between the given Aro and Aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
Returns
arrayIndexed array with: 'aro', 'aco' and 'link'
grant()source public
grant( string $aro , string $aco , string $action "*" )Allow $aro to have access to action $actions in $aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionoptional "*"
- Action (defaults to *)
Returns
booleanSuccess
See
DbAcl::allow()inherit()source public
inherit( string $aro , string $aco , string $action "*" )Let access for $aro to action $action in $aco be inherited
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionoptional "*"
- Action (defaults to *)
Returns
booleanSuccess
Implementation of
AclInterface::inherit()
  initialize()source public
initialize( Component $component )Initializes the containing component and sets the Aro/Aco objects to it.
Parameters
- Component- $component
- The AclComponent instance.
Implementation of
AclInterface::initialize()
  revoke()source public
revoke( string $aro , string $aco , string $action "*" )Deny access for $aro to action $action in $aco
Parameters
- 
     string $aro
- ARO The requesting object identifier.
- 
     string $aco
- ACO The controlled object identifier.
- 
     string $actionoptional "*"
- Action (defaults to *)
Returns
booleanSuccess
See
DbAcl::deny()Methods inherited from CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )Merges this objects $property with the property in $class' definition. This classes value for the property will be merged on top of $class'
This provides some of the DRY magic CakePHP provides. If you want to shut it off, redefine this method as an empty function.
Parameters
- 
     array $properties
- The name of the properties to merge.
- 
     string $class
- The class to merge the property with.
- 
     boolean $normalizeoptional true
- Set to true to run the properties through Hash::normalize() before merging.
_set()source protected
_set( array $properties array() )Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- 
     array $propertiesoptional array()
- An associative array containing properties and corresponding values.
_stop()source protected
_stop( integer|string $status 0 )Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- 
     integer|string $statusoptional 0
- see http://php.net/exit for values
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array
Parameters
- 
     string $method
- Name of the method to call
- 
     array $paramsoptional array()
- Parameter list to use when calling $method
Returns
mixedReturns the result of the method call
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )Convenience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- 
     string $msg
- Log message
- 
     integer $typeoptional LOG_ERR
- Error type constant. Defined in app/Config/core.php.
- 
     null|string|array $scopeoptional null
- 
     The scope(s) a log message is being created in. See CakeLog::config() for more information on logging scopes. 
Returns
booleanSuccess of log write
requestAction()source public
requestAction( string|array $url , array $extra array() )Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Under the hood this method uses Router::reverse() to convert the $url parameter into a string URL. You should use URL formats that are compatible with Router::reverse()
Passing POST and GET data
POST and GET data can be simulated in requestAction. Use $extra['url'] for GET data. The $extra['data'] parameter allows POST data simulation.
Parameters
- 
     string|array $url
- 
     String or array-based URL. Unlike other URL arrays in CakePHP, this URL will not automatically handle passed and named arguments in the $url parameter. 
- 
     array $extraoptional array()
- 
     if array includes the key "return" it sets the AutoRender to true. Can also be used to submit GET/POST data, and named/passed arguments. 
Returns
mixedBoolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString()source public
toString( )CakeObject-to-string conversion. Each class can override this method as necessary.
Returns
stringThe name of this class
© 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-DbAcl.html