バックグラウンド:
- AspNet C# 3.5 Web アプリ
- IIS7
- フォーム認証
- web.configでは、
<forms />
設定に「ドメイン」はありません - クッキーの名前: .exampleAuth
IE8 でのみ、セッション認証 Cookie がブラウザーに設定されないことがあります。ユーザーがログインすると、Web アプリの default.aspx ページが表示されますが、どこかをクリックすると切断されます。認証クッキーなし。AspNet_SessionId
cookie は、アプリで管理される別の cookie として適切に作成されます。
「ドメイン」属性を削除して web アプリの URLWeb.Config
を許可example.com
したため、この問題が発生しているようです。example2.net
Cookieは以前と同じように使用して作成されFormsAuthentication.GetAuthCookie(user.Id, true);
ます。
IE7、IE9、FF、ChromeはOKです。IE8 の場合もあります (95% の時間は問題なく、5% のユーザーが切断されているとしましょう)。一部のユーザーでは、IE8 を (Cookie とキャッシュをフラッシュせずに) 閉じると問題が解決します。
もう 1 つ: IE8 の「Cookie アラート ポップアップ」を有効にすると、ログイン後に認証 Cookie が 2 回設定されることがあります。最初にExpiration=Session
、次にExpiration=Now+1h20
(セッションは 200 に設定されています!)