CakePhp ACL权限
检查我的应用程序时,我发现每个用户都可以访问其中的所有操作。 我正在使用cakePhp内置ACL组件。。。CakePhp ACL权限,cakephp,permissions,acl,Cakephp,Permissions,Acl,检查我的应用程序时,我发现每个用户都可以访问其中的所有操作。 我正在使用cakePhp内置ACL组件。。。 通过终端显示正确检查权限是允许或不允许用户调用某个操作。但一旦我在浏览器上检查应用程序,所有用户都可以访问每个操作。如果您使用内置的Auth和ACL组件,您可以让CakePHP自动为您处理事情。首先,您可以确保在app文件夹中有app_controller.php文件。我的看起来像这样: <?php class AppController extends Controller {
通过终端显示正确检查权限是允许或不允许用户调用某个操作。但一旦我在浏览器上检查应用程序,所有用户都可以访问每个操作。如果您使用内置的Auth和ACL组件,您可以让CakePHP自动为您处理事情。首先,您可以确保在app文件夹中有app_controller.php文件。我的看起来像这样:
<?php
class AppController extends Controller {
var $helpers = array('Form', 'Html', 'Javascript', 'Time');
var $components = array( 'Acl', 'Auth', 'Session', 'Cookie');
function beforeFilter() {
$this->Auth->authorize = 'actions';
$this->Auth->actionPath = 'controllers/';
$this->Auth->authError = ' Access Denied!';
$this->Auth->loginRedirect = '/registrations';
$this->__checkAuth();
}
private function __checkAuth() {
$currentUser = $this->Auth->user();
$currentUser = $currentUser['User'];
$this->set(compact('currentUser'));
}
}
?>
放置在控制器中的任何beforeFilter(即使是空的)都将覆盖AppController的beforeFilter,除非您使用上述代码专门调用AppController的beforeFilter
您还可以在此处找到一些关于使用CakePHP的ACL的最佳教程:请提供一部分代码,用于检查应用程序中的权限。
function beforeFilter(){
parent::beforeFilter();
}