CakePHP v3.0 beforeFilter правильный синтаксис

Я строю проект с использованием 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, первый случай должен сработать, не так ли?
Какой правильный синтаксис для этой ситуации?
Заранее спасибо.

2

Решение

Я сомневаюсь, что первый вариант действительно сработал, возможно, это была просто удача, и, соответственно, еще одна проблема, которая позволила получить доступ к вашей охраняемой authorize() действие, как AuthComponent::allow() Метод принимает только один аргумент, который является либо именем отдельного действия, либо массивом действий.

Итак, короче говоря, несколько действий должны быть переданы как массивы.

Смотрите также

2

Другие решения

Других решений пока нет …