2012-03-29 8 views
0

ACL scheint sehr verwirrend und nie problemlos zu sein. Obwohl ich keine großen Probleme mit ACL hatte, stolperte ich jedes Mal, wenn ich ein Plugin hinzufüge. Ich habe den ACO Tisch im Db angesehen, aber ohne Erfolg.CakePHP 1.3: ACL Problem mit Plugins

Ich heruntergeladen McCurry CakePHP Plugin STATUS. Allerdings, wenn ich auf sie zugreifen, bekomme ich folgende Fehlermeldung:

DbAcl::check() - Failed ACO node lookup in permissions check. 

I Alaxos ACL-Plugin verwenden. Wenn ich es ausführe, sieht es so aus, als hätte es das neue Plugin entdeckt und die richtigen ACOs hinzugefügt. Wenn ich es erneut ausführe, erhalte ich die Meldung, dass keine neuen ACOs hinzugefügt werden müssen.

Die Frage, ob aus dem folgenden Abschnitt in dem

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; 
    } 
} 

Kern ACL Komponente des CakePHP kommt Was soll ich tun, um dieses Problem zu beheben?

+0

Wenn Sie nicht bereits sind - Ich würde das acl_extras Plugin. Es gibt Ihnen eine Vielzahl von Werkzeugen, um Ihren ACL/ACO/ARO-Baum neu zu erstellen. –

+0

Ich werde es versuchen. Vielen Dank! –

+0

Barry, ich konnte keine CakePHP 1.3 Version finden. Der in GitHub ist für 2.0. Kannst du mich in die richtige Richtung führen? –

Antwort

1

Besuchen Sie diesen Link und klicken Sie auf Download als zip oder Tarball.

https://github.com/markstory/acl_extras/zipball/1.0.0