PEAR::Auth ユーザー認証

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

概要

PHP::PEAR

導入はとても簡単。
で、結構な種類の認証システムが利用可能。

(ノ・・)ン。。。。。。(((●コロコロッ

私は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が使えなくなる。

お名前:


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較