2012-01-29 18:54:26 +00:00
|
|
|
<?php
|
|
|
|
/**
|
2017-06-10 21:33:55 +00:00
|
|
|
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
|
2017-06-10 22:10:52 +00:00
|
|
|
* Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
|
2012-01-29 18:54:26 +00:00
|
|
|
*
|
|
|
|
* Licensed under The MIT License
|
2013-02-08 12:22:51 +00:00
|
|
|
* For full copyright and license information, please see the LICENSE.txt
|
2012-01-29 18:54:26 +00:00
|
|
|
* Redistributions of files must retain the above copyright notice.
|
|
|
|
*
|
2017-06-10 22:10:52 +00:00
|
|
|
* @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
|
2017-06-10 21:33:55 +00:00
|
|
|
* @link https://cakephp.org CakePHP(tm) Project
|
2012-12-03 21:46:52 +00:00
|
|
|
* @package Cake.Controller.Component.Acl
|
2012-01-29 18:54:26 +00:00
|
|
|
* @since CakePHP(tm) v 0.10.0.1076
|
2013-05-30 22:11:14 +00:00
|
|
|
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Access Control List interface.
|
|
|
|
* Implementing classes are used by AclComponent to perform ACL checks in Cake.
|
|
|
|
*
|
2012-12-03 21:46:52 +00:00
|
|
|
* @package Cake.Controller.Component.Acl
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
interface AclInterface {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Empty method to be overridden in subclasses
|
|
|
|
*
|
|
|
|
* @param string $aro ARO The requesting object identifier.
|
|
|
|
* @param string $aco ACO The controlled object identifier.
|
|
|
|
* @param string $action Action (defaults to *)
|
2014-07-03 13:36:42 +00:00
|
|
|
* @return bool Success
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
public function check($aro, $aco, $action = "*");
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Allow methods are used to grant an ARO access to an ACO.
|
|
|
|
*
|
|
|
|
* @param string $aro ARO The requesting object identifier.
|
|
|
|
* @param string $aco ACO The controlled object identifier.
|
|
|
|
* @param string $action Action (defaults to *)
|
2014-07-03 13:36:42 +00:00
|
|
|
* @return bool Success
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
public function allow($aro, $aco, $action = "*");
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Deny methods are used to remove permission from an ARO to access an ACO.
|
|
|
|
*
|
|
|
|
* @param string $aro ARO The requesting object identifier.
|
|
|
|
* @param string $aco ACO The controlled object identifier.
|
|
|
|
* @param string $action Action (defaults to *)
|
2014-07-03 13:36:42 +00:00
|
|
|
* @return bool Success
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
public function deny($aro, $aco, $action = "*");
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Inherit methods modify the permission for an ARO to be that of its parent object.
|
|
|
|
*
|
|
|
|
* @param string $aro ARO The requesting object identifier.
|
|
|
|
* @param string $aco ACO The controlled object identifier.
|
|
|
|
* @param string $action Action (defaults to *)
|
2014-07-03 13:36:42 +00:00
|
|
|
* @return bool Success
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
|
|
|
public function inherit($aro, $aco, $action = "*");
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialization method for the Acl implementation
|
|
|
|
*
|
2014-06-05 04:15:45 +00:00
|
|
|
* @param Component $component The AclComponent instance.
|
2013-07-05 15:19:22 +00:00
|
|
|
* @return void
|
2012-01-29 18:54:26 +00:00
|
|
|
*/
|
2012-02-23 14:06:25 +00:00
|
|
|
public function initialize(Component $component);
|
2012-03-04 00:27:46 +00:00
|
|
|
|
2012-01-29 18:54:26 +00:00
|
|
|
}
|