mydomain.com www.mydomain.com abc.mydomain.com
5
0
作業するには、 `HttpOnly`認証Cookieが必要です。
mydomain.com www.mydomain.com abc.mydomain.com
1回のログインで3つの場所すべてにログインできます。
Cookieドメインを次のように設定することで、これはうまく機能しています。
.mydomain.com
Cookieを設定する応答ヘッダーは次のとおりです。
MYAUTHCOOKIE=FOO; domain=.mydomain.com; path=/; HttpOnly
これはすべて、通常のブラウザー要求では正常に機能します。
ただし、 mydomain.com`と
www.mydomain.com`から `abc.mydomain.com`へのAJAXリクエストを行う必要があります。
リクエストを行うとき、認証Cookieを渡していません。 これはなぜですか、どうすればいいですか?
JSが存在するページと同じホストにリクエストを行うと、Cookieが送信されます。
私のリクエストコードは次のとおりです。
$.ajax({ type: "POST" , data: { data: { foo: bar} } , dataType: "json" , url: "http://abc.mydomain.com/foo" , timeout: 5000 , success: function (data, textStatus) { alert('woo!'); } , error: function (xhr, textStatus, error) { alert('meh'); } });
これはクロスドメインポリシーですか? Cookieドメインがこの動作を行わないのはなぜですか?
ありがとう
1 Answer
1
same origin policyによると、サブドメインは実際にトップドメインに対して「敵対的」ですが、document.domainを設定することで修正できます(同じ記事)。