如何在CakePHP中允许操作?

时间:2013-06-27 16:06:58

标签: cakephp cakephp-2.3 authentication

我在Cake 2.3.6稳定中犯了一些可怕的错误。我按照Auth教程添加了AppController:

public function beforeFilter() {
    $this->Auth->allow('index', 'view');
}

但是当我进入主页上的网站时,蛋糕会抛出我无权访问该位置。

没有效果我在PagesController中试过:

public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->allow('index');
}

我仔细检查了教程和我的代码,除了我必须在CalculationsController中用“$ this-> Calclulation”交换“$ this-> Post”时,没有任何差异。 此外,AppController中的登录和注销重定向不起作用。

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'calculations', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'pages', 'action' => ''),
        'authorize' => array('Controller')
    )
);

怎么可以解决?在此先感谢:)

1 个答案:

答案 0 :(得分:2)

请检查默认路由器。 app / Config / routes.php

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));

这意味着,主页是由页面控制器和动作显示实现的, 所以,你应该允许显示

$this->Auth->allow('display');