CakePHP

【CakePHP2】任意のアクションでBASIC認証する方法

CakePHP2系統で運用しているサイト(メールフォームの管理者画面)へ、BASIC認証させたいという要望が入ったので実装してみました。
次回から調査する時間を省くための備忘録としてポストしておきます。

CakePHP2系統でのBASIC認証

かなり以前ですが、1.3系統のセキュリティコンポーネントを使ったBASIC認証する方法を同じようにこのブログでもポストしていましたが、2系統ではセキュリティコンポーネントでのBASIC認証は廃止されていました。

かわりに、基底クラスの AppController へBASIC認証用のアクションを作成し、メールフォームの必要なアクションからBASIC認証用のアクションを起動するという方式を採用しました。

BASIC認証用コード

下記コードを AppController.php へ記述します。
$loginId と $loginPassword は別途、bootstrap.php へ定義することとします。

↑ AppController.php へ追加

↑ bootstrap.php へ、IDとPWを定義する

使い方

下記のように、BASIC認証させたいページ(アクション)にて、_basicAuthentication アクションをコールするだけです。
使いたいアクション全部に埋める必要があるのが難点ですが。。。

結果

↑ Google Chromeのパスワードウィンドウ

↑ 認証に失敗すると、設定したメッセージが表示されます

-CakePHP
-