ログイン画面表示メソッド drawLogin
ユーザー別認証
次期バージョン PEAR::Auth 1.3.x

導入はとても簡単。
で、結構な種類の認証システムが利用可能。
(ノ・・)ン。。。。。。(((●コロコロッ
私はPEAR推進派。
何でもかんでもこれを使おうとします。
そして、手を抜きまくり。
(;^_^A アセアセ…
やっぱりPHPでものを作るときは簡単でないとね。
PEAR::DBについてはそこそこ見かけるようになったので
そっちに譲ります。スタックアスタリスク
で私も少し書いてますが。
(..;)(..;)
ユーザー認証はだいたい、
「プログラムが必ず呼び出す」ところに作成する。
それはPEAR::Auth
http://pear.php.net/package/Auth
も同じ。
このパッケージのおもしろいところは、
ユーザーリストのデータベースにはいろんなものが利用できます。
…で、ですねぇ。
一番手っ取り早く構築するのはやっぱりデータベース。
デフォルトでデータベースを利用することになっている。
PEARのデータベース抽象化クラスは
に対応している。
お好きな方をどうぞ。
ログイン画面はデフォルトで付属しています。
もちろん自身で作成することも可能です。
その場合
のいずれかをすればできます。
ただ、制約条件があって、
です。
ソースコードはだいたいこんな感じ
<?php
require_once "Auth/Auth.php";
$params = array(
"dsn" => "mysql://dozo:desu@yoroshiku/ne", // PEAR::DB参照
"table" => "myAuth", // テーブル名
"usernamecol" => "myUserColumn", // ユーザー名にあたるカラム名
"passwordcol" => "myPasswordColumn", // パスワードにあたるカラム名
"cryptType" => "none", // 暗号化(デフォルトはMD5)
);
$a = new Auth("DB", $params /* , "LoginFunction" */);// インスタンス生成
$a->start();// 認証開始
if (!$a->getAuth()){// 結果を判別
echo "失敗";
exit();
}
echo "成功";
session_regenerate_id(); // セッション偽装防止
?>
バグ?
criptType = none の時でパスワードが数字のみの時、 型がint型になるため頭の0が使えなくなる。
![[PukiWiki] [PukiWiki]](/pear/image/pukiwiki.png)