1

IIS7.5の同じWebサイトに2つのアプリケーションがあります。問題は次のとおりです。

  1. ブラウザを開き、最初のアプリケーションにログインします。
  2. 別のブラウザタブを開き、2番目のアプリケーションにログインします。
  3. 最初のアプリケーションは自動的にログアウトします。

同じasp.net認証DBを使用していますが、ロールとApplicationIdが異なる2人の異なるユーザーを作成しました。また、アプリケーションweb.configファイルのメンバーシッププロバイダー構成に別のapplicationName属性を設定しました。

手伝ってくれませんか。英語でごめんなさい。

ありがとう。

4

1 に答える 1

6

IIS Webサイトがフォームベースの認証を使用するように構成されている場合、問題は2回目のログイン(別のユーザー)のCookieが最初のログインからのCookieを上書きしている可能性があります。デフォルトでは、Cookieの名前は「.ASPXAUTH」です。Fiddlerなどを使用してIISから返された応答ヘッダーを調べることで、これを確認できるはずです。

web.configの要素の「name」属性を変更することにより、IISがセッションを維持するために使用するCookie名を制御できます。詳細については、このドキュメントを参照してください。web.configのこの部分の例は、次のようになります。

<authentication mode="Forms">
    <forms loginUrl="login.aspx" name="APP1SESS" />
</authentication>

アプリケーションが単一の個別のサブフォルダー内に含まれている場合は、代わりに「path」属性を使用して、そのサブフォルダー内の要求に対してのみCookieを送信するようにブラウザーに指示することもできます。サブフォルダにない画像などの共有リソースは、一般公開でアクセスできる必要があるため、ここでは注意してください。

この//authentication/forms要素は、アプリケーションのルートレベルでのみ指定できます。それについての議論については、このSO投稿をチェックしてください。

于 2013-01-04T14:27:40.650 に答える