0

別のマシンまたは別のブラウザを使用してアプリケーションにログインしている同じユーザーを処理する方法。これは私が実行することを計画している1つの解決策です:-ユーザーがログインするとき、私はデータベースにセッションIDを保存し、ユーザーがログアウトするとフィールドをクリアします。

ユーザーがすでにログインしていて、別のマシンから再度ログインしようとすると、複数のユーザーがログインしているページにリダイレクトされます。このページでは、セッションIDをキャンセルするか、強制的にクリアしてリダイレクトすることができます。ログインページ。

ここで1つの問題は、ユーザーがブラウザーの閉じるボタンをクリックすると、セッションIDがクリアされず、再度ログインしようとすると、ユーザーは複数ユーザーのログインページにリダイレクトされることです。

これが良い解決策なのか、それとも私が従わなければならない他の方法なのか?

4

1 に答える 1

0

以下にいくつかの提案を示します。

  1. アプリケーションに頻繁に (15 秒ごとなどに) ping メッセージを送信させ、サーバーが特定のタイムアウト期間内にメッセージを受信しない場合は、そのセッションを期限切れにします。

  2. javascript でウィンドウの onunload または onbeforeunload イベントを処理します。

  3. よりアグレッシブなタイムアウトの Cookie を用意する

于 2012-10-03T04:51:33.117 に答える