All
Здесь я снова с 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
ошибку. Единственный раз, когда контроллер работает, я могу изменить $this->Auth->allow('display') to
('*') в 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 переменные ....
Понятия не имею, что происходит ...