自分で応答に Cookie を追加する必要はありません。
あなたはこれをしていました:
HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username, true);
Response.Cookies.Add(authCookie);
Response.Redirect("~/Home/Home.aspx");
ただし、 a を実行してGetAuthCookie
から追加する代わりに、次を使用できますSetAuthCookie
。
HttpCookie authCookie = FormsAuthentication.SetAuthCookie(username, true);
Response.Redirect("~/Home/Home.aspx");
SetAuthCookieのMSDN ページを見ると、応答 (または URL) に Cookie を追加するだけでなく、チケットの作成と暗号化も行っていることがわかります。
指定されたユーザー名の認証チケットを作成し、応答の Cookie コレクションに追加するか、Cookie を使用しない認証を使用している場合は URL に追加します。
これがおそらく、自分で Cookie を追加しようとしてもうまくいかない理由です。