PHPでシステムを構築する際に、ユーザとパスワードを管理する会員制サイトなどを作ることがあります。
基礎的なところから設計すると、いろいろとめんどうな処理が出てきます。例えば、
- 無効なユーザはログインさせない
- ログイン前、ログイン後、さらには認証に失敗したときの表示の切り替え
- ログイン状態の保持(画面遷移、ブラウザを閉じる、時間/日数後にログイン状態をクリアするなど)
毎回、これらをゼロから構築するのは大変なので、ライブラリにまとめたいところですが、クライアント毎に細かいところの仕様が異なるため、それに対応させるのも難しいです。
そこで、今回、PEARのAuthを使ってみることにしました。
認証システムを構築する場合に、一般的には、以前にログインしたかどうか、ログイン有効期間を経過していないかなどの処理は、ブラウザのクッキー情報を使いますが、そのあたりのめんどくさい処理もAuthでは簡単に実現できます。
その具体的な利用方法は次回に置いておいて、まずはインストール方法のメモです。
Authは以下のページを参照しても分かるとおり、「Log」や「MDB2」などなど、多くのパッケージに依存しているので、一つ一つダウンロードして手動でインストールするのはやめたほうがよいでしょう。
http://pear.php.net/package/Auth
「pear」コマンドを使ってインストールしましょう。
pear install Auth-1.6.2
ここで早速、Authのサンプルを書いて実行したのですが、私の場合、以下のようなエラーが発生しました。
Fatal error: Class 'DB' not found in /usr/lib/php/Auth/Container/DB.php on line 150
どうやら「pear」コマンドだけではうまくいかないようです。
パッケージ「DB」のみ、手動でインストールする必要があるみたいです。
コメントする