CakePHPでコントローラーごとにベーシック認証をかけたい場合、
Securityコンポーネントを使用すると簡単に設定することができます。
通常、Basic認証は「.htaccess」で設定しますが、
「.htaccess」を使用しないで設定できるのでとても楽です。
サイト全体に設定せずにコントローラーごとに設定したい場合などは良いと思います。
下記にCakePHPのSecurityコンポーネントを使用してコントローラーごとにベーシック認証を設定する方法をメモします。
■ CakePHPでBasic認証を設定
Basic認証を使用したいコントローラーに下記の設定をします。
【コントローラー(Controller)】
Securityコンポーネントを使用するよう呼び出します。
class SampleController extends AppController { // Securityコンポーネント var $components = array('Security'); }
共通処理のbeforeFilter()にBasic認証の設定をします。
function beforeFilter() { parent::beforeFilter(); // Basic認証の設定 $this->Security->loginOptions = array('type' => 'basic'); // ユーザー名、パスワードの設定(複数可能) $this->Security->loginUsers = array('hoge' => 'password'); // 全てのアクションに設定 $this->Security->requireLogin('*'); }
上記の設定をするだけなので簡単にBasic認証を設定することができます。
また、アクションごとにも設定することができるので便利です。