/ cake / libs / controller / components / acl.php

Defined Classes

AclComponent Class Info:

Class Declaration:

class AclComponent extends Object

File name:
cake/libs/controller/components/acl.php
Description:

Access Control List factory class.

Uses a strategy pattern to allow custom ACL implementations to be used with the same component interface. You can define by changing Configure::write('Acl.classname', 'DbAcl'); in your core.php. Concrete ACL implementations should extend AclBase and implement the methods it defines.

Class Inheritance

Object

Properties:

Show/Hide parent properties
  • _Instance object

    Instance of an ACL class

allow

top

Pass-thru function for ACL allow instance. Allow methods are used to grant an ARO access to an ACO.

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 105
Return

boolean Success

Access

public

cakeError

top

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 required

    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

Method defined in:
cake/libs/object.php on line 187
Return

error message

Access

public

check

top

Pass-thru function for ACL check instance. Check methods are used to check whether or not an ARO can access an ACO

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 91
Return

boolean Success

Access

public

__construct

top

Constructor. Will return an instance of the correct ACL class as defined in Configure::read('Acl.classname')

Method defined in:
cake/libs/controller/components/acl.php on line 48

deny

top

Pass-thru function for ACL deny instance. Deny methods are used to remove permission from an ARO to access an ACO.

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 119
Return

boolean Success

Access

public

dispatchMethod

top

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters:
  • string $method required

    Name of the method to call

  • array $params optional array ( )

    Parameter list to use when calling $method

Method defined in:
cake/libs/object.php on line 107
Return

mixed Returns the result of the method call

Access

public

grant

top

Pass-thru function for ACL grant instance. An alias for AclComponent::allow()

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 146
Return

boolean Success

Access

public

inherit

top

Pass-thru function for ACL inherit instance. Inherit methods modify the permission for an ARO to be that of its parent object.

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 133
Return

boolean Success

Access

public

_initACL

top

Empty class defintion, to be overridden in subclasses.

Method defined in:
cake/libs/controller/components/acl.php on line 78
Access

protected

log

top

Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters:
  • string $msg required

    Log message

  • integer $type optional 2

    Error type constant. Defined in app/config/core.php.

Method defined in:
cake/libs/object.php on line 148
Return

boolean Success of log write

Access

public

Object

top

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()

Method defined in:
cake/libs/object.php on line 43
Return

Object

_persist

top

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 required

    name of the class to persist

  • $return required

  • string $object required

    the object to persist

  • $type optional NULL

Method defined in:
cake/libs/object.php on line 218
Return

boolean Success

Access

protected

Todo

add examples to manual

requestAction

top

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 required

    String or array-based url.

  • array $extra optional array ( )

    if array includes the key "return" it sets the AutoRender to true.

Method defined in:
cake/libs/object.php on line 80
Return

mixed Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.

Access

public

revoke

top

Pass-thru function for ACL grant instance. An alias for AclComponent::deny()

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 159
Return

boolean Success

Access

public

_savePersistent

top

You should choose a unique name for the persistent file

There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name used for object to cache

  • object $object required

    the object to persist

Method defined in:
cake/libs/object.php on line 247
Return

boolean true on save, throws error if file can not be created

Access

protected

_set

top

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.

Method defined in:
cake/libs/object.php on line 166
Return

void

Access

protected

startup

top

Startup is not used

Parameters:
  • object $controller required

    Controller using this component

Method defined in:
cake/libs/controller/components/acl.php on line 69
Return

boolean Proceed with component usage (true), or fail (false)

Access

public

_stop

top

Stop execution of the current script. Wraps exit() making testing easier.

Parameters:
  • $status optional 0

Method defined in:
cake/libs/object.php on line 135
Return

void

Access

public

toString

top

Object-to-string conversion. Each class can override this method as necessary.

Method defined in:
cake/libs/object.php on line 64
Return

string The name of this class

Access

public

AclBase Class Info:

Class Declaration:

class AclBase extends Object

File name:
cake/libs/controller/components/acl.php
Description:

Access Control List abstract class. Not to be instantiated. Subclasses of this class are used by AclComponent to perform ACL checks in Cake.

Class Inheritance

Object

Package
cake
Subpackage
cake.cake.libs.controller.components
Abstract

Properties:

cakeError

top

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 required

    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

Method defined in:
cake/libs/object.php on line 187
Return

error message

Access

public

check

top

Empty method to be overridden in subclasses

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 193
Access

public

__construct

top

This class should never be instantiated, just subclassed.

Method defined in:
cake/libs/controller/components/acl.php on line 178

dispatchMethod

top

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters:
  • string $method required

    Name of the method to call

  • array $params optional array ( )

    Parameter list to use when calling $method

Method defined in:
cake/libs/object.php on line 107
Return

mixed Returns the result of the method call

Access

public

initialize

top

Empty method to be overridden in subclasses

Parameters:
  • object $component required

    Component

Method defined in:
cake/libs/controller/components/acl.php on line 202
Access

public

log

top

Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters:
  • string $msg required

    Log message

  • integer $type optional 2

    Error type constant. Defined in app/config/core.php.

Method defined in:
cake/libs/object.php on line 148
Return

boolean Success of log write

Access

public

Object

top

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()

Method defined in:
cake/libs/object.php on line 43
Return

Object

_persist

top

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 required

    name of the class to persist

  • $return required

  • string $object required

    the object to persist

  • $type optional NULL

Method defined in:
cake/libs/object.php on line 218
Return

boolean Success

Access

protected

Todo

add examples to manual

requestAction

top

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 required

    String or array-based url.

  • array $extra optional array ( )

    if array includes the key "return" it sets the AutoRender to true.

Method defined in:
cake/libs/object.php on line 80
Return

mixed Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.

Access

public

_savePersistent

top

You should choose a unique name for the persistent file

There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name used for object to cache

  • object $object required

    the object to persist

Method defined in:
cake/libs/object.php on line 247
Return

boolean true on save, throws error if file can not be created

Access

protected

_set

top

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.

Method defined in:
cake/libs/object.php on line 166
Return

void

Access

protected

_stop

top

Stop execution of the current script. Wraps exit() making testing easier.

Parameters:
  • $status optional 0

Method defined in:
cake/libs/object.php on line 135
Return

void

Access

public

toString

top

Object-to-string conversion. Each class can override this method as necessary.

Method defined in:
cake/libs/object.php on line 64
Return

string The name of this class

Access

public

DbAcl Class Info:

Class Declaration:

class DbAcl extends AclBase

File name:
cake/libs/controller/components/acl.php
Description:

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

Class Inheritance

AclBase Object

Package
cake
Subpackage
cake.cake.libs.model

Properties:

allow

top

Allow $aro to have access to action $actions in $aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    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)

Method defined in:
cake/libs/controller/components/acl.php on line 355
Return

boolean Success

Access

public

Link
http://book.cakephp.org/view/1248/Assigning-Permissions

cakeError

top

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 required

    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

Method defined in:
cake/libs/object.php on line 187
Return

error message

Access

public

check

top

Checks if the given $aro has access to action $action in $aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • string $action optional '*'

    Action (defaults to *)

Method defined in:
cake/libs/controller/components/acl.php on line 263
Return

boolean Success (true if ARO has access to action in ACO, false otherwise)

Access

public

Link
http://book.cakephp.org/view/1249/Checking-Permissions-The-ACL-Component

__construct

top

Constructor

Method defined in:
cake/libs/controller/components/acl.php on line 232

deny

top

Deny access for $aro to action $action in $aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • $action optional '*'

Method defined in:
cake/libs/controller/components/acl.php on line 407
Return

boolean Success

Access

public

Link
http://book.cakephp.org/view/1248/Assigning-Permissions

dispatchMethod

top

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters:
  • string $method required

    Name of the method to call

  • array $params optional array ( )

    Parameter list to use when calling $method

Method defined in:
cake/libs/object.php on line 107
Return

mixed Returns the result of the method call

Access

public

getAclLink

top

Get an array of access-control links between the given Aro and Aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

Method defined in:
cake/libs/controller/components/acl.php on line 460
Return

array Indexed array with: 'aro', 'aco' and 'link'

Access

public

_getAcoKeys

top

Get the keys used in an ACO

Parameters:
  • array $keys required

    Permission model info

Method defined in:
cake/libs/controller/components/acl.php on line 486
Return

array ACO keys

Access

protected

grant

top

Allow $aro to have access to action $actions in $aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • $action optional '*'

Method defined in:
cake/libs/controller/components/acl.php on line 434
Return

boolean Success

See

allow()

Access

public

inherit

top

Let access for $aro to action $action in $aco be inherited

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • $action optional '*'

Method defined in:
cake/libs/controller/components/acl.php on line 420
Return

boolean Success

Access

public

initialize

top

Initializes the containing component and sets the Aro/Aco objects to it.

Parameters:
  • AclComponent $component required

Method defined in:
cake/libs/controller/components/acl.php on line 248
Return

void

Access

public

log

top

Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters:
  • string $msg required

    Log message

  • integer $type optional 2

    Error type constant. Defined in app/config/core.php.

Method defined in:
cake/libs/object.php on line 148
Return

boolean Success of log write

Access

public

Object

top

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()

Method defined in:
cake/libs/object.php on line 43
Return

Object

_persist

top

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 required

    name of the class to persist

  • $return required

  • string $object required

    the object to persist

  • $type optional NULL

Method defined in:
cake/libs/object.php on line 218
Return

boolean Success

Access

protected

Todo

add examples to manual

requestAction

top

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 required

    String or array-based url.

  • array $extra optional array ( )

    if array includes the key "return" it sets the AutoRender to true.

Method defined in:
cake/libs/object.php on line 80
Return

mixed Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.

Access

public

revoke

top

Deny access for $aro to action $action in $aco

Parameters:
  • string $aro required

    ARO The requesting object identifier.

  • string $aco required

    ACO The controlled object identifier.

  • $action optional '*'

Method defined in:
cake/libs/controller/components/acl.php on line 448
Return

boolean Success

See

deny()

Access

public

_savePersistent

top

You should choose a unique name for the persistent file

There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name used for object to cache

  • object $object required

    the object to persist

Method defined in:
cake/libs/object.php on line 247
Return

boolean true on save, throws error if file can not be created

Access

protected

_set

top

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.

Method defined in:
cake/libs/object.php on line 166
Return

void

Access

protected

_stop

top

Stop execution of the current script. Wraps exit() making testing easier.

Parameters:
  • $status optional 0

Method defined in:
cake/libs/object.php on line 135
Return

void

Access

public

toString

top

Object-to-string conversion. Each class can override this method as necessary.

Method defined in:
cake/libs/object.php on line 64
Return

string The name of this class

Access

public

IniAcl Class Info:

Class Declaration:

class IniAcl extends AclBase

File name:
cake/libs/controller/components/acl.php
Description:

IniAcl implements an access control system using an INI file. An example of the ini file used can be found in /config/acl.ini.php.

Class Inheritance

AclBase Object

Package
cake
Subpackage
cake.cake.libs.model.iniacl

Properties:

Show/Hide parent properties
  • config array

    Array with configuration, parsed from ini file

arrayTrim

top

Removes trailing spaces on all array elements (to prepare for searching)

Parameters:
  • array $array required

    Array to trim

Method defined in:
cake/libs/controller/components/acl.php on line 631
Return

array Trimmed array

Access

public

cakeError

top

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 required

    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

Method defined in:
cake/libs/object.php on line 187
Return

error message

Access

public

check

top

Main ACL check function. Checks to see if the ARO (access request object) has access to the ACO (access control object).Looks at the acl.ini.php file for permissions (see instructions in /config/acl.ini.php).

Parameters:
  • string $aro required

    ARO

  • string $aco required

    ACO

  • string $aco_action optional NULL

    Action

Method defined in:
cake/libs/controller/components/acl.php on line 533
Return

boolean Success

Access

public

__construct

top

The constructor must be overridden, as AclBase is abstract.

Method defined in:
cake/libs/controller/components/acl.php on line 519

dispatchMethod

top

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters:
  • string $method required

    Name of the method to call

  • array $params optional array ( )

    Parameter list to use when calling $method

Method defined in:
cake/libs/object.php on line 107
Return

mixed Returns the result of the method call

Access

public

initialize

top

Empty method to be overridden in subclasses

Parameters:
  • object $component required

    Component

Method defined in:
cake/libs/controller/components/acl.php on line 202
Access

public

log

top

Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters:
  • string $msg required

    Log message

  • integer $type optional 2

    Error type constant. Defined in app/config/core.php.

Method defined in:
cake/libs/object.php on line 148
Return

boolean Success of log write

Access

public

Object

top

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()

Method defined in:
cake/libs/object.php on line 43
Return

Object

_persist

top

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 required

    name of the class to persist

  • $return required

  • string $object required

    the object to persist

  • $type optional NULL

Method defined in:
cake/libs/object.php on line 218
Return

boolean Success

Access

protected

Todo

add examples to manual

readConfigFile

top

Parses an INI file and returns an array that reflects the INI file's section structure. Double-quote friendly.

Parameters:
  • string $fileName required

    File

Method defined in:
cake/libs/controller/components/acl.php on line 588
Return

array INI section structure

Access

public

requestAction

top

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 required

    String or array-based url.

  • array $extra optional array ( )

    if array includes the key "return" it sets the AutoRender to true.

Method defined in:
cake/libs/object.php on line 80
Return

mixed Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.

Access

public

_savePersistent

top

You should choose a unique name for the persistent file

There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name used for object to cache

  • object $object required

    the object to persist

Method defined in:
cake/libs/object.php on line 247
Return

boolean true on save, throws error if file can not be created

Access

protected

_set

top

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.

Method defined in:
cake/libs/object.php on line 166
Return

void

Access

protected

_stop

top

Stop execution of the current script. Wraps exit() making testing easier.

Parameters:
  • $status optional 0

Method defined in:
cake/libs/object.php on line 135
Return

void

Access

public

toString

top

Object-to-string conversion. Each class can override this method as necessary.

Method defined in:
cake/libs/object.php on line 64
Return

string The name of this class

Access

public