背景:JavaScriptを使用してWCFサービスと通信しています。サービスのセッションはasp互換モードです。/publicService.svc/ajax/logonを呼び出してログオンし、ajaxで/User/Home.aspxを取得しようとします。
問題:ローカル開発マシン(win7)と私のテストサーバー(2003 + IIS6 + .net4)では、問題なく動作します。ただし、運用サーバーでは、ログオン要求は成功しますが、認証は機能しません。
web.config:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" name="party" />
</authentication>
いくつかの発見:本番サーバーにアクセスすると、認証Cookieが欠落していることがわかりました。
稼働中のサーバーの場合:
logon:
Request Cookies: ASP.NET_SessionId: xxxxx
Response Cookies: party: xxxxx
Home.aspx:
Request Cookies: ASP.NET_SessionId: xxxxx
party: xxxxx
これまでのところ良いですが、問題のあるサーバーでは:
logon:
Request Cookies: ASP.NET_SessionId: xxxxx
Response Cookies: party: xxxxx
Home.aspx:
Request Cookies: ASP.NET_SessionId: xxxxx
ここに認証Cookieがありません。したがって、認証は機能していません。
これの考えられる理由は何ですか?すべてのリクエストは同じドメインの下にあるため、ここではクロスドメインの問題はありません