私は困惑しています。FormsAuthentication をカスタム トークン (追加のユーザー データを格納) で使用する MVC3 アプリケーションがあります。IEで動作します。ただし、Firefox と Chrome では、Cookie には従いません。
Fiddler で調べると、ログイン時に応答で Cookie がクライアントに送信されますが、クライアントからの後続の要求 (ログイン後にメイン ページをロードするため) では、Cookie はサーバーに送り返されません。
私のコード:
var encryptedCookieString = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedCookieString);
cookie.Expires = ticket.Expiration;
HttpContext.Current.Response.Cookies.Add(cookie);
そしてクッキーを取得します:
var cookie = HttpContext.Current.Request.Cookies.Get(FormsAuthentication.FormsCookieName);
Auth 設定の web.config:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Firefox と Chrome の両方のブラウザーを調べましたが、Cookie がオフになっている場所はどこにもありません。
最初はこれは localhost での開発の問題かもしれないと思ったので、トレーニング サーバーにデプロイしました。同じ話 - IE では動作しますが、Chrome や Firefox では動作しません。
手がかりはありますか?
アップデート
私の同僚はChromeでアクセスでき、彼のために働いていました. したがって、これは私の Chrome/Firefox の障害であると信じなければなりません。また、私は VPN を使用しており、開発マシンでリモート デスクトップを使用しています。これが問題の原因になっている可能性はありますか?