2012-02-13 16 views
1

1人のユーザーが自分のサイトにログインすると、このユーザーはセッション[sessionid like:xxxx-xxxx-xxxx-xx]を持ち、別の場所にログインすると[sessionid like: yyyy-yyyy-yy-yyy]:セッション[sessionid like:yyyy-yyyy-yy-yyy]で再度ログインした後、以前のセッション[sessionid like:xxxx-xxxx-xxxx-xx]を破棄することはできますか。asp.netセッションをセッションで破棄する

別のセッソンでセッションを破壊する! これは可能ですか? ありがとう!

+0

「彼は他の場所でもう一度ログインします」とはどういう意味ですか?あなたが求めていることは必要ではないはずです。あなたが間違っているように聞こえる。 –

答えて

0

あなたが心配する必要がある場合は、あなたのアプリのデザインが悪いことを意味する心配しないでください。

Global.asaxのログをSession_Endイベントに配置すると、ログファイルを読み取って未使用のセッションが終了したときを追跡できます。

+0

それは私が欲しいものではありません。このユーザーが再びログインすると、以前のセッションがまだそこにあることがわかります。また、別のセッションIDを持つため、sthも実行できます。私はセキュリティのために前のセッションを破壊したい。とにかくありがとうございました。 – cloud

+0

異なるブラウザ(IE、FF、CHROME ...)を使用してみてください。同じサイトにログインしてください。 – cloud

+0

この記事をチェックしてください:http://stackoverflow.com/questions/2645102/opening-a-new-browser-window-with-a-new-session-id-in-asp-net –

2

このリクエストには多大な混乱があるようです。この個人は、同時ユーザーセッションを防止する方法を知りたいと考えています。

提案された方法:ユーザーが正常にログインすると、この新しいユーザーセッションをアクティブにし、ユーザーの既存のアクティブなセッションをすべて破棄します。

私の解決策:ログイン時

  1. 、サイトマスターファイルで、ユーザーのアカウント
  2. を基準(または任意のファイルは、あなたのサイトのすべてのページで共有することができ、データベースにセッションIDを保存)、現在のSessionID(HttpContext.Current.Session.SessionID)とSaved SessionIDを比較します。
  3. 2つが一致しない場合は、セッションを放棄します(Session.Abandon)。

これは簡単な解決策ですが、問題を解決する必要があります。

関連する問題