Как создать логин пользователя для некоторых действий в CakeStack Overflow

У меня есть веб-сайт с CakePHP, я хочу создать логин пользователя только для Add, Edit и Delete для каждой модели, то есть любой может войти в любую часть сайта, но для этих трех видов требуется один логин.

Выполнение beforeFilter для каждого представления, которое я бы предоставил бесплатному доступу, потребовало бы слишком много времени и, в конечном счете, сложное в обслуживании.

Есть простой способ сделать это?

0

Решение

В обратном вызове appController beforeFilter по умолчанию разрешены все действия:

// Allow all actions. CakePHP 2.0
$this->Auth->allow('*');

// Allow all actions. CakePHP 2.1
$this->Auth->allow();

Затем в контроллере (или appController?) Отрицаем некоторые из них:

parent::beforeFilter(); // Must be before deny method, in other way you first deny add and then allow it
$this->Auth->deny('add', 'edit');
1

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

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