Где использовать Auth-> allow и Auth-> deny в CakePHP 3 - PullRequest
0 голосов
/ 11 сентября 2018

Я вижу, что в примерах документации CakePHP 3 компоненты Auth allow и deny используются в initialize функции контроллеров.Принимая во внимание, что я вижу некоторые примеры в сети и в стеке потока, где люди используют вызовы этих методов в beforeFilter .

Какой лучший и самый эффективный способ справиться с этим в приложении CakePHP 3.6?Следует ли использовать следующие вызовы методов:

$this->Auth->allow(/*...*/);
$this->Auth->deny(/*...*/);

В инициализировать или beforeFilter ?

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 11 сентября 2018

Фактическая проверка, разрешено ли действие, по умолчанию выполняется в событии Controller.startup. Поскольку определение разрешенных / запрещенных действий должно быть выполнено до этого, и оба параметра Controller::initialize() и Controller::beforeFilter() отвечают этому требованию, оба должны быть хорошими кандидатами для определения разрешенных действий в.

Но в конфигурации Auth вы можете изменить событие, в котором выполняется эта проверка, поэтому более безопасным местом для определения разрешенных действий будет Controller::initialize(), так как он вызывается перед любым событием, к которому может подключиться Auth.

...