CakePHP2.x にてログイン機能を実装した後、新規actionがログイン画面にリダイレクトされてしまう問題に遭遇しました。
CakePHP2.10.2で確認しています。
公式
https://book.cakephp.org/2.0/ja/core-libraries/components/authentication.html
各Controller
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add');
}
これでこのControllerのadd actionはログイン不要でアクセス出来ます。
AppController
public function beforeFilter() {
$this->Auth->allow('index', 'view');
}
これでAppControllerを継承しているControllerのindex, view actionはログイン不要でアクセス出来ます。
該当Controllerの全actionを許可したい場合
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow();
}
何も書かない allow() でこのControllerの全actionがログイン不要でアクセス出来ます。
ちなみに
$this->Auth->allow('*');
はバージョンによっては認識されないのでご注意ください。CakePHP 2.0 (非推奨)と公式に記載がありました。
$this->Auth->allow();
はCakePHP2.1以降からのようです。
今回自分はCakePHP2.10.2でした。
