モンスターカレンダー

« 2004年10月 »
12345678910111213141516171819202122232425262728293031

2004年10月11日アーカイブ

AuthではusernameにユニークなIDを設定する。
以下の例では user_table がテーブル、user_id がユニークなIDである。


$dsn=DATASET_NAME;
$params = array(
"dsn" => $dsn,
"table" => "user_table",
"usernamecol" => "user_id",
"passwordcol" => "pass"
);
$a = new Auth("DB", $params, "loginFunc", false);

今回、user_id にはメールアドレスをセットした。

ユーザの削除を考えたときに、実際にレコードを削除すれば何の問題もない。
しかしユーザ情報そのものはのこしておきたい、「削除フラグ」でその状態を判定したいとなったときに問題が発生する。メールアドレスの重複が発生してしまう。

重複があったまま、Authを適用すると当然ながらどのデータをひっぱってくるのか分からない。

これを解決するために、テーブルのViewを作った。

delete_flg = 1のものが削除データとすると、

user_view を select * from user_table where delete_flg != 1

として作成。Authには


$params = array(
"dsn" => $dsn,
"table" => "user_view",
"usernamecol" => "user_id",
"passwordcol" => "pass"
);

とviewを指定した。