CakePHP v3.0 beforeFilter正确的语法

时间:2015-04-15 14:03:56

标签: php cakephp before-filter

我正在使用CakePHP v3.0构建项目。 这是我在控制器中的原始beforeFilter方法:

public function beforeFilter(Event $event)
    {
        parent::beforeFilter($event);
        $this->Auth->allow('add','logout','authorize');
    }

这一直有效,直到我在不同的服务器上安装了该应用,并授权'无需身份验证即可访问操作。 我找到的唯一解决方案是将操作放在数组中,如下所示:

public function beforeFilter(Event $event)
    {
        parent::beforeFilter($event);
        $this->Auth->allow(array('add','logout','authorize'));
    }

如果我没有误解CakePHP 3书,第一个案例应该有效,不应该吗? 这种情况的正确语法是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

我有点怀疑第一个变体确实有效,它可能只是运气,分别是另一个问题,可以访问您的受保护的authorize()操作,因为AuthComponent::allow()方法只需要一个参数,可以是单个操作的名称,也可以是一系列操作。

所以,长话短说,多个动作必须作为数组传递。

另见