0

複数のユーザー ログインを防止するメカニズムを認識しています: asp.net サイトでは、同じユーザー ID の複数のログインを防止する方法を教えてください。. 私のシナリオは異なります。

私の Web サイトでは、ユーザーがログインしているかどうかを 1 つのページで確認します (デフォルトの .NET メンバーシップ プロバイダー)。ユーザーが認証されると、ページはユーザーをサードパーティ サーバー上のプレミアム サービスにリダイレクトします。つまり、上記のメカニズムを使用して、各ページで現在のセッション ID を以前に保存されたセッション ID と照合することはできません。

ログイン時に、現在のユーザーの以前のセッションをすべて終了する必要があります。私が遭遇したすべてのメソッド (FormsAuthentication.SignOut など) は、現在のユーザーのみを対象としています。サイトへの 2 人の訪問者が同じユーザー名を使用しないように、メンバーシップ ユーザー名でユーザーをログアウトすることはできますか?

4

1 に答える 1

0

ユーザーの現在のセッション ID を追跡するテーブル/カスタム メンバーシップ フィールド/静的辞書などを作成できます。ユーザーがログインするときに、その値を現在の ID に設定します。次に、global.asaxハンドルApplication_AuthenticateRequestで、現在のセッションが保存したものと一致するかどうかを確認します。そうでない場合は、サインアウト/リダイレクトを実行します。

于 2012-08-14T02:57:44.163 に答える