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
DbAcl implements AclInterface _getAcoKeys( array $keys )
Get the keys used in an ACO
$keys allow( string $aro , string $aco , string $actions "*" , integer $value 1 )
Allow $aro to have access to action $actions in $aco
$aro $aco $actions optional "*" $value optional 1 AclInterface::allow() check( string $aro , string $aco , string $action "*" )
Checks if the given $aro has access to action $action in $aco
$aro $aco $action optional "*" AclInterface::check() deny( string $aro , string $aco , string $action "*" )
Deny access for $aro to action $action in $aco
$aro $aco $action optional "*" AclInterface::deny() getAclLink( string $aro , string $aco )
Get an array of access-control links between the given Aro and Aco
$aro $aco grant( string $aro , string $aco , string $action "*" )
Allow $aro to have access to action $actions in $aco
$aro $aco $action optional "*" DbAcl::allow()inherit( string $aro , string $aco , string $action "*" )
Let access for $aro to action $action in $aco be inherited
$aro $aco $action optional "*" AclInterface::inherit() initialize( Component $component )
Initializes the containing component and sets the Aro/Aco objects to it.
Component $component AclInterface::initialize() revoke( string $aro , string $aco , string $action "*" )
Deny access for $aro to action $action in $aco
$aro $aco $action optional "*" DbAcl::deny()_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.
$properties $class $normalize optional true _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.
$properties optional array() _stop( integer|string $status 0 )
Stop execution of the current script. Wraps exit() making testing easier.
$status optional 0 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
$method $params optional array() 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.
$msg $type optional LOG_ERR $scope optional null The scope(s) a log message is being created in. See CakeLog::config() for more information on logging scopes.
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()
POST and GET data can be simulated in requestAction. Use $extra['url'] for GET data. The $extra['data'] parameter allows POST data simulation.
$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.
$extra optional 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.
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString( )
Object-to-string conversion. Each class can override this method as necessary.
© 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-DbAcl.html