Kan CakePHP-kookboek niet downloaden Eenvoudig ACL-voorbeeld Werken

Ik ondervind problemen om ACL met CakePHP te laten werken. Ik heb gewerkt met het CakePHP Cookbook 2.0-voorbeeld Eenvoudige door Acl gecontroleerde toepassing , en hebben de stappen twee keer doorlopen, maar ik ben beide keren hetzelfde probleem tegengekomen.

Alles lijkt correct te zijn ingesteld.

  • I'm able to create my groups, and users.
  • The aros table appears to have the same rows shown in the example on the web.
  • The acos and aros_acos tables appear to get populated with values that resemble the article.
  • And when I visit a page that's setup to be protected, I'm presented with the login page.

Maar wanneer ik me aanmeld met het account dat ik heb gemaakt, zie ik de volgende foutmelding:

Warning (512): DbAcl::check() - 
Failed ARO/ACO node lookup in permissions check.  Node     references:
Aro: Array
(
[User] => Array
    (
        [id] => 1
        [username] => dc
        [email] => [email protected]
        [group_id] => 1
        [created] => 2011-10-27 14:58:59
        [modified] => 2011-10-27 14:58:59
    )
)  
Aco: /Posts/add [CORE/Cake/Controller/Component/AclComponent.php, line 303]

Dat account is ingesteld als beheerder en de beheerdersgroep heeft toegang tot alles gekregen ... dus als het werkt, zou ik geen probleem moeten hebben ... maar het lijkt erop dat er een probleem op een lager niveau is manier. Ik kan ook mijn DB-tabellen plaatsen als dat nuttig zou zijn, maar ik dacht dat ik hier zou beginnen. Bedankt voor alle informatie die u kunt geven.

0
Ik werkte met cake en die plug-in ACL heeft meer problemen dan carter heeft pillen. Slechts ter herinnering. Probeer net.tutsplus.com/tutorials/ php/& hellip;
toegevoegd de auteur Michael D. Irizarry, de bron

2 antwoord

De documentatie is bijgewerkt om dit probleem te verhelpen. Als u dit toevoegt in de methode beforeFilter in AppController, lost het het probleem op.

$this->Auth->authorize = array(
    AuthComponent::ALL => array('actionPath' => 'controllers'),
    'Actions',
);
1
toegevoegd

Add $this->Auth->allow('initDB'); in beforeFilter()

0
toegevoegd