CAKEPHP2で特定のControllerとかactionだけBASIC認証をかける方法

CAKEPHP2で特定のControllerとかactionだけBASIC認証をかける方法のメモ。
Securityコンポーネント(CakePHP1系のみ)とか、Authコンポーネントでも出来るらしいけど、サクッと出来なかったのでこちらで対応。
これをAppControllerのbeforeFilterとか、かけたいactionとかで実行すればOK。

$loginId = 'hoge';
$loginPassword = 'fuga';

$this->autoRender = false;
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Private Page"');
header('HTTP/1.0 401 Unauthorized');
die("id / password Required");
} else {
if ($_SERVER['PHP_AUTH_USER'] != $loginId || $_SERVER['PHP_AUTH_PW'] != $loginPassword) {
header('WWW-Authenticate: Basic realm="Private Page"');
header('HTTP/1.0 401 Unauthorized');
die("Invalid id / password combination. Please try again");
}
}
$this->autoRender = true;


参考サイト
CakePHP:CakePHPでBasic認証を簡単に設定
[CakePHP][PHP]コンポーネントを利用せずにベーシック認証を実装する
スポンサーサイト

トラックバック

コメント

コメントを残す

Secret


プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事