2004年09月16日
続:ユーザー認証の仕組み @ ウェブ
昨日InterAKTの認証がクッキーを使っていると書きましたが間違いでした。Dreamweaverの元々のユーザー認証サーバービヘイビアと同じでセッションを使ってました。InterAKTの方が設定が面倒ですが、設定を細かくできるので、色々と応用出来そうです。しかし、クッキーを使った認証にしたいので、少々自分で工夫しなければ成らないですね。カスタムトリガーを使えば良いのかな。
ログインのトランザクションにカスタムトリガーを使ってsetcookieすれば良いみたいです。具体的にはsetcookie('userid',$tNG->userName);こんな感じです。しかし、これだけだとログアウトのサーバービヘイビアが問題。クッキーをメインに使うので、セッションは関係ないんだけど、ログインのサーバービヘイビアを使うとセッションが生きてしまいます。ブラウザを閉じてしまえば、セッションは閉じるので、取りあえず無視して、ログアウトは自前でクッキーを削除する仕組みを作れば問題ないですね。厳密にはログアウトを二つ用意すれば完璧。セッションが生きている時はサーバービヘイビアを使ってログアウトし、そのトランザクションにカスタムトリガーでsetcookie('userid','');とすれば、クッキーも消えます。もう一つはセッションに値がない時の為にクッキーのみを削除する仕組みを作れば完璧。
ショック。色々と試して悩んだのに、ImpAKT2のユーザー認証に有るRemember meという項目をマニュアルで確認したら、クッキーを併用する為の項目だった。今まで自前でコードを書いた事が無駄。トホホ。またやり直しじゃん。
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。