Cakephp Auth->允许不允许在没有登录的情况下执行操作

时间:2014-05-12 10:18:36

标签: cakephp authentication

我在about_us控制器中有一个名为pages的页面。我希望每个人都能看到它,所以我在AppController.php中写道:

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

但是当我想访问contact_us页面url/pages/about_us时,它会说:

  

您无权访问该位置。如何添加动作才能让所有人都看到?

4 个答案:

答案 0 :(得分:1)

In允许您必须在数组中传递操作名称

您可以使用以下代码来允许多个操作

public function beforeFilter() {
    $this->Auth->allow(array('about_us','login'));
}

答案 1 :(得分:0)

在您的app控制器中,执行以下操作:

public function beforeFilter(Event $event) {
    parent::beforeFilter($event);
    $this->Auth->allow(['controller' => 'yourcontroller', 'action' => 'youraction']);
}

答案 2 :(得分:0)

让你的appController的beforeFilter()功能在某个地方被调用,例如在PagesController的beforeFilter()中:

public function beforeFilter() {
    parent::beforeFilter();
}

答案 3 :(得分:-2)

您需要在beforeFilter

中创建PageController.php
public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('about_us');
    }