Я вижу, что в примерах документации CakePHP 3 компонент Auth разрешать а также Отрицать функции используются в инициализировать функция контроллеров. Принимая во внимание, что я вижу некоторые примеры онлайн и на стеке потока, где люди используют эти вызовы методов в beforeFilter.
Какой лучший и самый эффективный способ справиться с этим в приложении CakePHP 3.6? Должен ли я использовать следующие вызовы методов:
$this->Auth->allow(/*...*/);
$this->Auth->deny(/*...*/);
В инициализировать или же beforeFilter?
Спасибо за любую помощь.
Фактическая проверка, разрешено ли действие, по умолчанию выполняется в Controller.startup
событие. Поскольку определение разрешенных / запрещенных действий должно быть выполнено до этого, и оба Controller::initialize()
а также Controller::beforeFilter()
соответствует этому требованию, оба должны быть хорошими кандидатами для определения разрешенных действий в.
Но в Auth
В конфигурации вы можете изменить событие, в котором выполняется эта проверка, поэтому более безопасным местом для определения разрешенных действий будет Controller::initialize()
как это называется перед любым событием, которое Auth
можно зацепить
Других решений пока нет …