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();
とします。