我正在使用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书,第一个案例应该有效,不应该吗? 这种情况的正确语法是什么? 提前谢谢。
答案 0 :(得分:2)
我有点怀疑第一个变体确实有效,它可能只是运气,分别是另一个问题,可以访问您的受保护的authorize()
操作,因为AuthComponent::allow()
方法只需要一个参数,可以是单个操作的名称,也可以是一系列操作。
所以,长话短说,多个动作必须作为数组传递。
另见