我是CakePHP中的ACL的新手。我相信我的管理員組設置正確,完全可以訪問'controllers'
ACO。但是,當我嘗試訪問任何未明確公開的控制器或操作時,我會遇到錯誤。ACO別名與'controllers/Controller'值無效
Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references:
Aro: Array
(
[User] => Array
(
[id] => 9
[email] => Admin
[group_id] => 3
[is_active] => 1
[created] => 2013-04-08 07:59:52
[modified] => 2013-04-08 07:59:52
[Group] => Array
(
[id] => 3
[name] => Administrators
[user_count] => 2
[created] => 2013-04-08 06:34:58
[modified] => 2013-04-08 06:34:58
)
)
)
Aco: controllers/Users/index [CORE/Cake/Model/Permission.php, line 94]
在我acos
桌子上有用於'controllers/Users/index'
作爲別名的條目。此條目具有參考'controllers/Users'
的parent_id,其具有參考'controllers'
的parent_id。
我的'aros_acos'
表中只有一個條目授予管理員組的完全權限。
基於上面的錯誤我做了一點挖掘,發現如果我直接嘗試撥打$this->Acl->Aco->node('controllers/Users/index');
返回的值是false
。但如果我在$this->Acl->Aco->node('controllers');
上執行相同的查詢,則返回的值是正確的數組。
東西顯然不能正常工作,但我無法弄清楚我哪裏出錯了。我一直在挖掘文檔和API,並沒有找到任何理由爲什麼'controllers/Users/index'
沒有找到,但'controllers'
是。在這一點上,它似乎與/
角色有關,但我不知道爲什麼。添加Aco時我使用了相同的字符串,並正確保存。
謝謝! http://www.alaxos.net/blaxos/pages/view/plugin_acl_2.0
運行這個偉大事業我發現我是錯誤地將我的ACO與別名的填充路徑後: