すべてのFirefoxブラウザインスタンスが同じ認証Cookieを使用しないようにするにはどうすればよいですか?
-
03-07-2019 - |
質問
Default.aspx
と login.aspx
という名前のカスタムログインページを作成して、フォーム認証を実装しました。認証されていないユーザーが Default.aspx
にアクセスすると、ユーザーは login.aspx
にリダイレクトされ、指定された資格情報に一致するものが見つかった場合にのみ、ユーザーは defaultにリダイレクトされます.aspx
。
-
ただし、Firefoxを使用する場合、すべてのブラウザーインスタンスが同じ認証Cookieインスタンスを使用するように見えるため、ブラウザーB1のユーザーがユーザーU1としてログインすると、そのWebアプリケーションにアクセスするすべてのブラウザーインスタンスがユーザーとしてログインしますU1。たとえば、ブラウザインスタンスB1が初めて Default.aspx を要求した場合、すぐにアクセスが許可されます。
-
ユーザーU1としてログインした後、
login.aspx
にアクセスして別のユーザー名(ユーザーU2など)でログインすると、すべてのブラウザーでポストバックが行われます(以前にログインした場合)ユーザーU1として)はユーザーU2としてログインします。
各ブラウザインスタンスが独自の認証Cookieを受信できるように、このような動作を防ぐにはどうすればよいですか?
解決
各ブラウザインスタンスには、独自のCookieのセットがあります。そして歴史。そしてブックマーク。実行中の各インスタンスは、独自のプロファイルにアタッチする必要があるためです。
ただし、任意のインスタンスで複数のタブとウィンドウを開くことができます。そして、それらはクッキーを共有します。それでもうまくいかない場合は、Cookieを使用しないでください...
テストを簡単にしたいだけなら、別のテストプロファイルを設定して、それに接続されたFirefoxの別のインスタンスを起動してみませんか?
他のヒント
簡単な実験で、Shog9が何を暗示しているかがわかりました。 Firefoxを起動します。その後、別の「インスタンス」を開始します。 Firefoxの。次に、タスクマネージャーを見ると、実行されているfirefox.exeプロセスは1つだけであることがわかります。
彼は、Firefoxの2つのインスタンスを実際に見たことがないということだと思います。同じインスタンスが2つのウィンドウを実行しているのを見ただけです。当然、それらは同じCookieを共有します。
これは、実際に個別のインスタンスを使用するためには、個別のログインまたはユーザープロファイルで実行する必要があり、個別のCookieのセットを持っていることを意味すると推測します。
編集: FireFoxのプロファイルに関するリソース:
次に、あなたの質問が曖昧に表現されていることです。 Firefoxでは、任意の数のCookieセットを使用できます。各セットはFirefoxプロファイルの一部である必要があります。各プロファイルでは、任意の数のウィンドウとプロセスを開くことができます(既存のプロセスに参加しないようにするには、 no-リモート)。
同じプロファイルで複数のウィンドウを使用していると思われます。これらのウィンドウはCookieセットを共有することが期待されています。