我在我的应用中向未经过身份验证的用户显示静态页面时遇到问题。
我正在使用cake 2.1而我的AppController.php是这样的:
App::uses('Controller','Controller');
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
'logoutRedirect' => array('controller' => 'users', 'action' => 'login')
)
);
public function beforeFilter() {
$this->Auth->allow('display');
}
}
请帮帮我。谢谢!
答案 0 :(得分:1)
即将结束,但display
操作不属于AppController
。它属于PagesController
而已。
尝试将此逻辑添加到PagesController
下的app/Controllers/PagesController.php
。这应该可以解决问题。
答案 1 :(得分:1)
您需要在PagesController中执行此操作
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('display');
}
至少它对我有用。希望它可以帮助别人。
答案 2 :(得分:0)
Appcontroller.php
class AppController extends Controller {
...
public function beforeFilter() {
$this->Auth->allow('index', 'view');
$this->set('loggedUser', $this->Auth->user());
$this->loadModel('Evento');
$this->set('eventos', $this->Evento->find('all'));
}
}
PagesController.php
class PagesController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
// Allow users to register and logout.
$this->Auth->allow('display');
}
...