Все,
Здесь я снова с CakePHP ACL. После многих головных болей я смог заставить работать на меня Alaxos ACL. Я установил групповое разрешение и т. Д., И он отлично работает. Однако у меня проблема с одним контроллером, который для меня вообще не имеет смысла ...
- В этом контроллере
articles_controller.php
похоже, чтоbeforeFilter()
не работает
В моем app_controller.php
есть
function beforeFilter(){
...
$this->Auth->allow('display') //To make sure all my pages are plublic, like about_us
}
Во всех моих контроллерах, включая articles_controller.php
, у меня есть следующий код
...
function beforeFilter(){
parent::beforeFilter();
$this->Auth->allow('index','view');
}
....
Однако, когда я обращаюсь к этому контроллеру, ни индекс, ни просмотр не работают. Я получаю YOU ARE NOT AUTHORIZED TO ACCESS THAT LOCATION
ошибку. Единственный раз, когда контроллер работает, это если я изменю _8 _ ('*') в app_controller.php
beforeFilter()
.
Я не уверен что делать. Разве $this->Auth->allow('index','view')
не делает эти 2 действия общедоступными независимо от ACL? Я могу получить к ним доступ только после входа в систему. Те же действия в других контроллерах работают нормально. В остальном нет ничего необычного ...
Что мне делать, или где мне искать дальше. Почему?
===========================================================================================
И чтобы добавить,
В моем articles_controller.php
есть следующий код:
$this->set('articles',$articles);
$this->set('topfive_articles',$topfive_articles);
$this->set('other_articles',$other_articles);
$this->set('categories',$categories);
Если я закомментирую все это, AUTH теперь дает мне доступ к действию / представлению, но отображает undefined variable
ошибок. Также, если я закомментирую, т.е. 3 из 4, ничего не происходит. Я пойму, только если закомментирую все 4 переменные ....
Я не понимаю, что происходит ...