2017-03-17 7 views
0

IIS Expressで実行される2つのASP.NET Webサイトが、異なるポートを持つlocalhostとしてあります。私はFormsAuthenticationを使用して、クッキーによるログインを覚えています。しかし、1つのサイトにログインしたりログアウトしたりすると、他のサイトに影響を与えるため、同じCookieを共有しているように見えます。2つのサイト間でASP.NET Cookieが間違って共有されています

これは一般的な問題ですか、これを避けるために何か微調整できますか?

+2

特定のポートにCookieが隔離されていません。 [http cookies specific port](http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific)を参照してください。 – cobolstinks

答えて

2

これは、同じCookie名を持つサイトが原因である可能性があります。

あなたのweb.configファイルでそれを調整することができます。

<authentication mode="Forms"> <forms name=".CookieName" loginUrl="LoginPage.aspx" /> </authentication>

出典: Can I change the FormsAuthentication cookie name?

1

Cookieがホスト名に割り当てられるため、よくある問題です。サイトにAUTHクッキーに異なる名前を付ける必要があります。それを行う方法を確認してください:Can I change the FormsAuthentication cookie name?

0

http cookieは特定のポートに分離されていません。 Are HTTP cookies port specific?

ブラウザはドメインに基づいてCookieを送信し、ポートは考慮しません。

歴史的な理由から、Cookieには数多くのセキュリティとプライバシーの不備が含まれています。たとえば、特定の クッキーが「安全な」接続を意図しているが、セキュア属性 がアクティブネットワーク の存在下で完全性を提供していないことをサーバーが示している可能性があります。同様に、特定のホストのCookieは、Webブラウザで使用される通常の「同一起点ポリシー」 が異なるポート経由で取得されたコンテンツを隔離していても、そのホスト上のポート すべてで共有されます。

同じドメインのアプリにそのCookieを制限する場合は、仮想ディレクトリに固有のCookieを設定する必要があります。 cookie.domain = 'yourdomain/appRootUrl /'のようなものです。

関連する問題