PEAR – Auth
1月 1, 2003 · Posted in PEAR::Auth · Comment
PEAR:Authとは
認証機能を利用するためのモジュール。
ユーザーIDとパスワードを利用したユーザ認証機能を利用することができる。
また、ユーザーの管理方法もデータベースの他に、ファイルやLDAPなど、いろいろなものを選択することができる。
ユーザーIDとパスワードを利用したユーザ認証機能を利用することができる。
また、ユーザーの管理方法もデータベースの他に、ファイルやLDAPなど、いろいろなものを選択することができる。
認証機能を利用する
myAuth.php
<?php
require_once "Auth/Auth.php";
$params = array(
"dsn" => "mysql://root:root@localhost/sample",
"table" => "user",
"usernamecol" => "user",
"passwordcol" => "password",
"cryptType" => "none",
);
$myAuth = new Auth("DB", $params);
$myAuth->start();
if(!$myAuth->getAuth()){
print "fail";
exit();
}
print "success";
?>
このphpにアクセスすると、一度でも認証されている場合はsuccessと表示され、認証済みでない場合はfailという文字とログイン用のフォームが表示される(図1参照)

図1:PEAR:Authにより表示されたログインフォーム
ログアウト機能
Authインスタンスのlogoutメソッドを呼ぶと、ログアウト処理を実行することができる。
$myAuth->logout();
自分で作成したフォームを利用する
myAuth.php
<?php
require_once "Auth/Auth.php";
function login(){
print "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
print "<input type=\"text\" name=\"username\">";
print "<input type=\"password\" name=\"password\">";
print "<input type=\"submit\" value=\"login\">";
print "</form>";
}
$params = array(
"dsn" => "mysql://root:root@localhost/sample",
"table" => "user",
"usernamecol" => "user",
"passwordcol" => "password",
"cryptType" => "none",
);
$myAuth = new Auth("DB", $params, "login");
$myAuth->start();
if(!$myAuth->getAuth()){
print "fail";
exit();
}
print "success";
?>
フォーム表示用のメソッドを記述して、Authの初期化パラメータにメソッド名を渡す。

