cakephp - 在客户助手中使用 Acl 组件
问题描述
我使用了 acl 组件,但我需要在视图中检查权限。创建一个组件,其中实例 acl 组件。
<?php
namespace App\Controller\Component;
use Cake\Controller\Component;
class AccessComponent extends Component
{
var $components = array('Acl');
function checkHelper($aro, $aco, $action = "*")
{
//Importa los componentes de ACL
App::import('Component', 'Acl');
// Instancia una clase del componente
$acl = new AclComponent();
// returna el resultado del check
return $acl->check($aro, $aco, $action);
}
}
然后我需要将函数传递给 AccessHelper
<?php
namespace App\View\Helper;
use Cake\View\Helper;
use Cake\Event\Event;
use Cake\ORM\TableRegistry;
class AccessHelper extends Helper
{
// var $helpers = array("Session");
var $Access;
//var $Auth;
// var $user;
function beforeRender(Event $event)
{
App::import('Component', 'AccessComponent');
// App::uses('AccessComponent', 'Controller/Component');
$this->Access = new AccessComponent();
// var_dump($this->Access);
// App::import('Component', 'Auth');
//$this->Auth = new AuthComponent();
//$this->Auth->Session = $this->Session;
//$user = $this->request->getSession()->read('Auth');
}
function check($user, $aco, $action='*')
{
if(empty($user)) return false;
// Returna el metodo del check definido en el componente Access
return $this->Access->checkHelper($user['User']['id'], $aco, $action);
}
}
?>
助手没有找到 AccessComponent。给我空...
解决方案
推荐阅读
- excel - 在单元格数组中添加注释,其中每个单元格的注释内容取自另一个工作表中的另一个单元格数组
- python - Pyinstaller 可执行文件崩溃了?
- python - 不确定如何将颜色图与 Folium 标记图一起使用
- c++ - 头文件中的内联 std::mutex
- java - 使用多对多关系使用休眠进行低效保存
- c++ - 我在使用 MinGW 和 VS Code 时出现构建错误“g++ notrecognized as a cmdlet ...”
- java - 在 Jersey REST 服务中调用 Google Geocode API 会导致内部 400 错误
- routing - 在 Blazor 中设置启动页面
- flutter - 颤振通知
- video - 文件 concat mp4 使用 ffmpeg 不 concat