http://book.cakephp.org/2.0/ja/tutorials-and-examples/simple-acl-controlled-application/part-two.html
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('initDB'); //この行は終わったあと削除できます
}
と
public function initDB() {
$group = $this->User->Group;
//管理者グループには全てを許可する
$group->id = 1;
$this->Acl->allow($group, 'controllers');
//マネージャグループにはpostsとwidgetsに対するアクセスを許可する
$group->id = 2;
$this->Acl->deny($group, 'controllers');
$this->Acl->allow($group, 'controllers/Posts');
$this->Acl->allow($group, 'controllers/Widgets');
//ユーザグループにはpostsとwidgetsに対する追加と編集を許可する
$group->id = 3;
$this->Acl->deny($group, 'controllers');
$this->Acl->allow($group, 'controllers/Posts/add');
$this->Acl->allow($group, 'controllers/Posts/edit');
$this->Acl->allow($group, 'controllers/Widgets/add');
$this->Acl->allow($group, 'controllers/Widgets/edit');
//馬鹿げた「ビューが見つからない」というエラーメッセージを表示させないためにexitを追加します
echo "all done";
exit;
}
とならんでいると、Aclの設定は無視される、ようです。