我正在使用數據庫ACL的修改版本製作CakePHP應用程序。CakePHP ACL:可選ACO節點(默認情況下爲允許)
爲了避免必須爲每個控制器創建ACO節點,我想建立一個系統,允許用戶訪問頁面,除非另有否認。這意味着我不想爲控制器創建ACO節點,除非絕對必要。
通常情況下,如果我失敗創建一個ACO節點,當我isAuthorised()
函數執行$this->Acl->check
,我得到一個錯誤,如本...
Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references:
Aro: Array
(
[model] => Role
[foreign_key] => 1
)
我認爲,一個可行的解決辦法是檢查在執行$this->Acl->check
命令之前存在ACO節點。如果它不存在,那麼可以阻止它檢查權限。
有沒有辦法根據$this->Auth->action()
(輸出類似於controllers/Members/Edit
)的輸出檢查ACO節點是否存在?
我的Auth ActionPath設置爲'controllers'。
或者也許有更好的方法去做呢?
我希望我已經充分說出了我的問題,我會保證澄清,如果沒有。
謝謝!
此答案中的語法錯誤,未關閉')';請改正。 – Dariusz 2013-10-02 08:46:14