ACL кажется очень запутанным и никогда не беспроблемным. Хотя у меня не было серьезных проблем с использованием ACL, каждый раз, когда я добавляю плагин, я сталкиваюсь с проблемой. Я посмотрел на таблицу ACO в БД, но безрезультатно.
Я скачал плагин McCurry Cakephp STATUS. Однако, когда я получаю к нему доступ, я получаю следующую ошибку:
DbAcl::check() - Failed ACO node lookup in permissions check.
Я использую плагин Alaxos ACL. Когда я запускаю его, похоже, что он обнаружил новый плагин и добавил правильные ACO. Если я перезапущу его, я получу сообщение о том, что нет новых ACO для добавления.
Проблема, возникающая из следующего раздела в базовом компоненте ACL CakePHP
function check($aro, $aco, $action = "*") {
if ($aro == null || $aco == null) {
return false;
}
....
$acoPath = $this->Aco->node($aco);
...
// The issue is happening here!!! Basically $acoPath has '' from the call above
if ($acoPath == null || $acoPath == array() || empty($acoPath)) {
trigger_error(__("DbAcl::check() - Failed ACO node lookup in permissions check. Node references:\nAro: ", true) . print_r($aro, true) . "\nAco: " . print_r($aco, true), E_USER_WARNING);
return false;
}
}
Что я должен сделать, чтобы решить эту проблему?