Я создаю приложение CakePHP, и у меня есть контроллер API. Он содержит некоторые методы, которые распространены на сайте, и я использую их с вызовами jQuery AJAX для выполнения определенных задач. Недавно я реализовал регистрацию пользователей с помощью компонента Auth, но теперь всякий раз, когда я пытаюсь получить доступ к API, когда я не вошел в систему, меня перенаправляют на страницу входа.
Это мой AppController
код:
class AppController extends Controller {
public $components = array('Session', 'Auth' => array(
'loginRedirect' => array('controller' => 'users', 'action' => 'images'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'home')
));
public function beforeRender() {
$this->set('loggedIn', $this->Auth->loggedIn());
$this->set('username', $this->Auth->user('username'));
}
public function beforeFilter() {
$this->Auth->allow('home', 'register', 'login');
}
}
Я знаю, что могу разрешить определенные методы в моем API-контроллере с помощью метода $this->Auth->allow()
, но есть ли способ сделать его доступным для всего контроллера? Например, есть ли что-то, что я могу поместить в свой контроллер API, чтобы пользователи, не вошедшие в систему, также могли получить доступ к его методам? Я бы не хотел указывать имена методов для каждого действия в списке разрешенных, потому что их около 30.
Спасибо.