CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

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」のみ、手動でインストールする必要があるみたいです。

http://pear.php.net/package/DB/

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search