我有插件
plugin: tree
-----controller: tree
-------------action : admin_index
数据库表aros_acos已为此aco更新了_CRUD 1 1 1 1。 我编码$ this-> Acl-> check(array('model'=>'User','foreign_key'=> 2),'Tree / Tree / admin_index');
错误:
DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references:
Aro: Array
(
[model] => User
[foreign_key] => 2
)
Aco: Tree/Tree/admin_index [CORE\cake\libs\controller\components\acl.php, line 273]
所有其他操作都是权限有效但插件的动作,我找不到理由。任何人都帮助我。
答案 0 :(得分:0)
我不明白为什么你把Tree作为一个插件 - 这是一个核心行为。
请从aros_acos表中发布相应的行。
您传入Acl->check
的数组对我来说不合适。我传入$ this-> Auth-> user()的输出,它看起来像:
Array
(
[User] => Array
(
[id] => 12
[username] => somebody
[group_id] => 1
)
)
看看Mark Story的教程 - 它非常棒: http://mark-story.com/posts/view/auth-and-acl-an-end-to-end-tutorial-pt-1
答案 1 :(得分:0)
Cakephp 1.3发生了变化。对于名称与插件相同的控制器,只有index
路由为supported。因此,如果您使用1.3版本,则需要首先处理。
检查控制台中的ARO和ACO树:cake acl view aco
,cake acl view aro
。尝试检查控制台cake acl check YOURARO YOURACO all