/bonvhp/webapp/PEAR       [後へ]   [目次へ]   [次へ] ~ [] ~

PEAR:ユーザー認証: Auth

WEB アプリが使用できる人間を限定したり、
ユーザーによってサービス内容を変えたりしたい場合、
基本的なのが、
ログイン時にユーザー名とパスワードを入力させる方法です。

PEAR ライブラリの Auth を使えば、
簡単にユーザー認証が構築できます。

1. Auth 本体をリンク
  使用する PHP コードの先頭で、
  require_once("Auth/Auth.php");

2. セッションを開始する
  ユーザー認証情報を保持し続けるために、
  PHP のセッション機能を使用します。
  session_start();

3. Auth の設定
  $auth=new Auth("MDB2", $param, NULL, TRUE);

  Auth の引数:
  第一引数ですが、
  認証情報は、データベースを使用するので、
  先の章で説明した MDB2 を使います。
  
  $param は、
  たとえば、本稿の 分野別の解説:PostgreSQL では、
  $param=array(
    "dsn" => "pgsql://sql_sample:sql_sample@localhost/sql_sample",
    "table" => "person",
    "usernamecol" => "person_name",
    "passwordcol" => "person_password",
  );
  
  dsn は、
  [データベースの種類]://[ユーザー名]:[パスワード]@サーバー名/データベース名
  で構成します。
  # 他にも、構成方法がありますが、本稿では省略します。
  
  第三引数は、
  ログオン画面を自前で用意する場合に、関数名を指定します。
  NULL にすると、Auth が標準の関数を用意してくれます。
  
  第四引数は、
  ログオン画面を出す場合は TRUE、出さない場合は FALSE を指定します。

4. 認証開始
  $auth->start();

5. 認証結果を取得
  $person_name=$auth->getUsername();
  これで、$person_name に文字列が入っていれば、
  認証が成功したことになります。
  文字列が "" なら、認証失敗なので、
  プログラムを終了させるとか、再度ログインを促すとか、
  必要な処理を講じます。
  
  取得できた $person_name などの認証情報は、
  PHP のセッションに保存しておくと、
  再利用の際に便利です。
  
6. ログアウト
  認証を取り消すには、
  $auth->logout();
  とします。

/bonvhp/webapp/PEAR       [後へ]   [目次へ]   [次へ]