CakePHP2.x Auth->allow()ログイン不要actionの設定・ログイン画面にリダイレクトされてしまう問題

CakePHP2.x Auth->allow()ログイン不要actionの設定・ログイン画面にリダイレクトされてしまう問題

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でした。

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です