Class AclComponent

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. The adapter you specify must implement AclInterface

CakeObject
Extended by Component
Extended by AclComponent
Package: Cake\Controller\Component
Link: https://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/AclComponent.php

Properties summary

Inherited Properties

Method Summary

  • __construct() public
    Constructor. Will return an instance of the correct ACL class as defined in Configure::read('Acl.classname')
  • adapter() public
    Sets or gets the Adapter object currently in the AclComponent.
  • allow() public

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

  • check() public

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

  • deny() public

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

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

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

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

Method Detail

__construct()source public

__construct( ComponentCollection $collection , array $settings array() )

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

Parameters

ComponentCollection $collection
Collection instance.
array $settings optional array()
Settings list.

Throws

CakeException
when Acl.classname could not be loaded.

Overrides

Component::__construct()

adapter()source public

adapter( AclInterface|string $adapter null )

Sets or gets the Adapter object currently in the AclComponent.

$this->Acl->adapter(); will get the current adapter class while $this->Acl->adapter($obj); will set the adapter class

Will call the initialize method on the adapter if setting a new one.

Parameters

AclInterface|string $adapter optional null
Instance of AclInterface or a string name of the class to use. (optional)

Returns

AclInterface|null
Either null, or the adapter implementation.

Throws

CakeException
when the given class is not an instance of AclInterface

allow()source public

allow( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

check()source public

check( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

deny()source public

deny( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

grant()source public

grant( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Deprecated

3.0.0 Will be removed in 3.0.

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

inherit()source public

inherit( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

revoke()source public

revoke( array|string|Model $aro , array|string|Model $aco , string $action "*" )

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

Deprecated

3.0.0 Will be removed in 3.0.

Parameters

array|string|Model $aro
ARO The requesting object identifier. See AclNode::node() for possible formats
array|string|Model $aco
ACO The controlled object identifier. See AclNode::node() for possible formats
string $action optional "*"
Action (defaults to *)

Returns

boolean
Success

Methods inherited from Component

__get()source public

__get( string $name )

Magic method for lazy loading $components.

Parameters

string $name
Name of component to get.

Returns

mixed
A Component object or null.

beforeRedirect()source public

beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )

Called before Controller::redirect(). Allows you to replace the URL that will be redirected to with a new URL. The return of this method can either be an array or a string.

If the return is an array and contains a 'url' key. You may also supply the following:

  • status The status code for the redirect
  • exit Whether or not the redirect should exit.

If your response is a string or an array that does not contain a 'url' key it will be used as the new URL to redirect to.

Parameters

Controller $controller
Controller with components to beforeRedirect
string|array $url
Either the string or URL array that is being redirected to.
integer $status optional null
The status code of the redirect
boolean $exit optional true
Will the script exit.

Returns

array|null
Either an array or null.

Link

https://book.cakephp.org/2.0/en/controllers/components.html#Component::beforeRedirect

beforeRender()source public

beforeRender( Controller $controller )

Called before the Controller::beforeRender(), and before the view class is loaded, and before Controller::render()

Parameters

Controller $controller
Controller with components to beforeRender

Link

https://book.cakephp.org/2.0/en/controllers/components.html#Component::beforeRender

initialize()source public

initialize( Controller $controller )

Called before the Controller::beforeFilter().

Parameters

Controller $controller
Controller with components to initialize

Link

https://book.cakephp.org/2.0/en/controllers/components.html#Component::initialize

shutdown()source public

shutdown( Controller $controller )

Called after Controller::render() and before the output is printed to the browser.

Parameters

Controller $controller
Controller with components to shutdown

Link

https://book.cakephp.org/2.0/en/controllers/components.html#Component::shutdown

startup()source public

startup( Controller $controller )

Called after the Controller::beforeFilter() and before the controller action

Parameters

Controller $controller
Controller with components to startup

Link

https://book.cakephp.org/2.0/en/controllers/components.html#Component::startup

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 $normalize optional 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 $properties optional 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 $status optional 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 $params optional array()
Parameter list to use when calling $method

Returns

mixed
Returns 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 $type optional LOG_ERR
Error type constant. Defined in app/Config/core.php.
null|string|array $scope optional null

The scope(s) a log message is being created in. See CakeLog::config() for more information on logging scopes.

Returns

boolean
Success 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 $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.

Returns

mixed

Boolean 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

string
The name of this class

Properties detail

$Acosource

public string

Aco object

$Arosource

public string

Aro object.

$_Instancesource

protected AclInterface

Instance of an ACL class

null

© 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-AclComponent.html