- PR -

VB.NETのログオン制御について

1
投稿者投稿内容
mike
会議室デビュー日: 2004/10/06
投稿数: 14
投稿日時: 2004-10-06 14:53
VB.NETでwebアプリの開発をしています。
ログオン時に、DBへログオン情報を書き込み、
ログオフ時に、DBのログオン情報を削除する制御をさせています。
ログオン後に、メニュー画面にて、一定時間何もしないときに、
タイムアウトを発生させ、ログオフさせたいのですが、
その時の制御方法として良い案はありますでしょうか?
今のところ、タイマーでセッション情報を読み取りにいき、
セッション情報に違いがない場合、ログオフ処理にさせようと思っていますが、
何分素人なので、この方法が一般的とは思えません。。
また、ブラウザの閉じるボタンを押下した時に、
同じくログオフ処理を実行させたいのですが、
これはSession_Endイベントで制御するしかないのでしょうか??
一般的な制御について、教えて頂ければ幸いでございます。
よろしくお願い致します。
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2004-10-07 13:57
二重ログオンチェックの為と推定して書きますが、そもそもこういう仕様を実装すべきではないと思っています。システム部門が使うロック解除画面(DB上のみログオンレコードが残って再ログオンできない場合の対策)とかも開発するのですか?

「一般的」で言うなら、サーバ側の設定時間(SessionTimeout)に任せるのが普通かと思いますが、わざわざJavaScriptのタイマーで見に行く必要があるのでしょうか。

ブラウザ閉じるのイベントは、window.onUnloadで取れますが、複雑な処理はさせない方がよい(らしい)です。
mike
会議室デビュー日: 2004/10/06
投稿数: 14
投稿日時: 2004-10-08 05:21
引用:

まるくさんの書き込み (2004-10-07 13:57) より:
二重ログオンチェックの為と推定して書きますが、そもそもこういう仕様を実装すべきではないと思っています。システム部門が使うロック解除画面(DB上のみログオンレコードが残って再ログオンできない場合の対策)とかも開発するのですか?

「一般的」で言うなら、サーバ側の設定時間(SessionTimeout)に任せるのが普通かと思いますが、わざわざJavaScriptのタイマーで見に行く必要があるのでしょうか。

ブラウザ閉じるのイベントは、window.onUnloadで取れますが、複雑な処理はさせない方がよい(らしい)です。




ご回答ありがとうございます。

おっしゃるとおり、タイマーで監視したり、
閉じるボタンの制御をすると複雑になりそうですね。。。
単純にSession_Endイベントで、
ログオフ処理を実行させるようにしました。
そもそも、そういう処理にしようとしていましたが、
サーバー側でタイムアウトを感知するまで、
一定時間待たないと、再ログオン出来ないというところから、
ユーザが間違って「閉じるボタン」を押した場合でも、
すぐにログオンできるような、何か良い案はないかと思い、
こういう考えに至った訳でした。。。
ハルカイ
会議室デビュー日: 2004/05/06
投稿数: 1
投稿日時: 2004-10-08 10:53
まったく同じ機能を考え中です。

私は下記の方法で実装しようかと思っております。

1.ログイン時に、DBに現在のセッションIDを登録する。

2.ブラウザを閉じて、再度ログインしにいったとき、
 もしくは、1.でログイン中に他のPCなどからログインしにいったとき、
 セッションIDは異なるため、二重ログインしている旨の
 メッセージ画面を表示する。

3.その画面で、先に1.でログインしている接続(セッション)を無効に
 し、2.の後からの接続(セッション)を有効にする意味のボタンを押
 下させる。(キャンセルボタンも用意する)

4.そのボタンを押下したら、後からの接続(セッション)のセッションIDを
 DBに格納する。

5.ログイン中には、現在のセッションIDとDB内のセッションIDを
 常にチェックする。

6.ログアウト、セッションタイムアウトでは、DB内のセッションIDを削除する。

これであれば、ブラウザを閉じられてもセッションタイムアウトまで
待たずに使用させることができますよね。
ん〜、簡単に考えてみたけど、これって問題ないかな???
1

スキルアップ/キャリアアップ(JOB@IT)