一回も披露したことのない豆知識

すみません。お世話になります。

クラシックなほうのASPで、webを作りました。
のですが、ログイン管理を軽視してしたため、あとからつけたすことになりました。

で、誰がいつログインして、いつ抜けているのかの記録を取りたいのですが、調べたとことろ、Global.asaというものでできる様子。
Sub Session_OnStart で、
sCoString = "DBQ=" & Server.MapPath("XXX.mdb") & ";"・・・などのDBへの接続先を記述し、rs.AddNew とかで記録!というわけにはいかないのでしょうか?

どうしたらこういったことが実現できるのか、教えていただけますでしょうか。もし参考になるサイトなどあれば、ご教授いただけると助かります。

A 回答 (2件)

昔ASPをやっていたころは、global.asaはどうにも


信用できず、私は使用していませんでした。

ログインのログはログイン処理のところでログを書き出せばいいと
思います。ログアウトはWebアプリでは考えても無駄な気がしたので、
記録していませんでした。せいぜい、ログアウトボタンをつけて、
そのクリックの処理としてつければいいかな(ログアウト記録が
ない場合もあるけど、まぁいいや)くらいに思っていました。

また、アプリケーションの実装にもよりますが、
Sessionの有無 == ログイン状態とも限らないので、OnStartで
ログインしたと記録するのはまずい場合もある気もします。

この回答への補足

>また、アプリケーションの実装にもよりますが、
>Sessionの有無 == ログイン状態とも限らないので、OnStartで
>ログインしたと記録するのはまずい場合もある気もします。

お返事遅くなってすみません。
なるほどーそうですかー。
ログインのログは簡単に取れるんですけどねー
ありがとうございます。
また機会がありましたらお願いします。

補足日時:2009/07/25 10:48
    • good
    • 0

ASP は 10年以上前にやったきりなので自信がない。


Global.asa 内でできることって制限が多かった気がする。
だから Session_OnStart ではセッションを開始した旨を記録するフラグ的なセッション変数を宣言。
Session("AlreadyRecorded") = 0
とか。
んでトップページ内で
Session("AlreadyRecorded") が 0 なら DB に記録し、Session("AlreadyRecorded") を 1 にする。
とか。

んで終了時の記録は希望通りに行かないと思います。
ページ上に作った [終了] とかのリンクなりボタンをユーザーが明示的にクリックでもしないかぎり、ユーザーがユーザーの意思で使用を終えたタイミングをつかむことはできないでしょう。
ユーザーがページを開いたまま放っておいてもタイムアウトでセッションが切れますんで Session_OnEnd が実行されちゃいますし。
あんまりやりませんて。
    • good
    • 0
この回答へのお礼

お返事遅くなってすみません。
うむむー。
なるほどですねー。
もう少し考えてみる必要がありそうですね。

また機会がありましたらよろしくお願いします。

お礼日時:2009/07/25 10:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報