すごい簡単にできてしまう。
PHPのこういうところが大好きだ。
まずは、auth部分のスクリプト。
<html> <body> <?php require_once("Auth/Auth.php"); $params = array( "dsn" => "mysql://db_user:db_user_pass@127.0.0.1/db_name", "table" => "db_tbl", "usernamecol" => "user_col", "passwordcol" => "pass_col" ); $auth = new Auth("DB", $params); $auth->start(); if ($auth->getAuth()) { print("認証成功\n"); print("ユーザ名:".$auth->getUsername()."\n"); } else{ print("認証失敗\n"); } ?> </body> </html>
次に実際に認証したいページで上記PHPをrequire。
# cat index.php <?php require_once("./auth.php"); if (!$auth->getAuth()) { echo "ダメ"; exit; } ?> <HTML> <HEAD> <TITLE>AUTH_TEST!!!</TITLE> </HEAD> <BODY> 認証したいページのコンテンツ </BODY> </HTML>
楽にできるなぁ。
db構成は以下みたいなもので。
> use auth_test > select * from auth_tbl; user pass -------------------------------- matsumoto_r パスワードのハッシュ
ちなみに忘れがちなテキストのハッシュのとり方は以下。
# echo -n "matsumoto_r" | md5sum
nオプションを忘れないように。