Basic認証
開発環境:CakePHP2.5.1
簡単に認証機能をつけたい時に使うのが、Basic認証。
.htaccessを使うのが通常ですが、今回はCakePHPを使ってBasic認証をやってみましょう。
データベースを作成する
最低限必要なカラムを持ったテーブルを作成します。
1 2 3 4 5 |
CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), password VARCHAR(50) ); |
データを登録する
ログインするユーザーのデータを登録します。
passwordはハッシュ化する必要がありますので、app/Controller/AppController.php に暫定的にハッシュ化の仕組みを組み込んでパスワードを生成してみます。
1 2 3 4 5 6 7 8 9 10 11 |
App::uses('SimplePasswordHasher', 'Controller/Component/Auth'); class AppController extends Controller { public $components = array('Auth'); public function beforeFilter() { $passwordHasher = new SimplePasswordHasher(); echo $passwordHasher->hash('パスワードの平文をここに記載'); exit; } } |
ここで出力されたハッシュ化されたパスワードをデータベースに任意のユーザー名と共に登録します。
登録が完了したら、上記で追加したコードは一旦すべて消しておきます。
Basic認証を追加する
最後に app/Controller/AppController.php へBasic認証を追加します。
1 2 3 4 5 6 7 |
class AppController extends Controller { public $components = array( 'Auth' => array( 'authenticate' => array('Basic') ) ); } |
これでサイトにアクセスするとBasic認証がかかります。
柴田 篤志
最新記事 by 柴田 篤志 (全て見る)
- WordPressとCakePHPの共存 - 2014年10月22日
- サイトマップの作成方法 - 2014年10月12日
- INSERTしたIDを取得する - 2014年10月4日