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
- Component
- AclComponent
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
-
$Aco
publicAco objectstring
-
$Aro
publicAro object.string
-
$_Instance
protected
Inherited Properties
Method Summary
- __construct() publicConstructor. Will return an instance of the correct ACL class as defined in
Configure::read('Acl.classname')
- adapter() publicSets 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() publicPass-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() publicPass-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
|nullEither 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
booleanSuccess
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
booleanSuccess
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
booleanSuccess
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
booleanSuccess
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
booleanSuccess
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
booleanSuccess
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
mixedA 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|nullEither an array or null.
Link
https://book.cakephp.org/2.0/en/controllers/components.html#Component::beforeRedirectbeforeRender()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::beforeRenderinitialize()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::initializeshutdown()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::shutdownstartup()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::startupMethods 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
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
$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
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
$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
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
Properties detail
© 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