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 }}}
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: controller/components/acl.php
Method Summary
-
__construct() public
Constructor -
_getAcoKeys() public
Get the keys used in an ACO -
allow() public
Allow $aro to have access to action $actions in $aco -
check() public
Checks if the given $aro has access to action $action in $aco -
deny() public
Deny access for $aro to action $action in $aco -
getAclLink() public
Get an array of access-control links between the given Aro and Aco -
grant() public
Allow $aro to have access to action $actions in $aco -
inherit() public
Let access for $aro to action $action in $aco be inherited -
initialize() public
Initializes the containing component and sets the Aro/Aco objects to it. -
revoke() public
Deny access for $aro to action $action in $aco
Method Detail
_getAcoKeys() public ¶
_getAcoKeys( array $keys )
Get the keys used in an ACO
Parameters
- array $keys
- Permission model info
Returns
ACO keys
allow() 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 $actions optional "*"
- Action (defaults to *)
- integer $value optional 1
- Value to indicate access type (1 to give access, -1 to deny, 0 to inherit)
Returns
Success
Link
check() 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 $action optional "*"
- Action (defaults to *)
Returns
Success (true if ARO has access to action in ACO, false otherwise)
Link
Overrides
deny() 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 $action optional "*"
- $actions Action (defaults to *)
Returns
Success
Link
getAclLink() 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
Indexed array with: 'aro', 'aco' and 'link'
grant() 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 $action optional "*"
- $actions Action (defaults to *)
Returns
Success
See
inherit() 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 $action optional "*"
- $actions Action (defaults to *)
Returns
Success
initialize() public ¶
initialize( AclComponent
$component )
Initializes the containing component and sets the Aro/Aco objects to it.
Parameters
-
AclComponent
$component
Overrides
revoke() 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 $action optional "*"
- $actions Action (defaults to *)
Returns
Success
See
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_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 $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() 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 $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $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.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class