Ich brauche eine HttpOnly
Authentifizierungscookie zu arbeiten:Multi-Sub-Domain Cookies und Ajax Probleme
mydomain.com
www.mydomain.com
abc.mydomain.com
so, dass ich in allen drei Orten über ein einziges Login angemeldet werden kann.
Dies funktioniert gut, durch meine Cookie-Domain zu setzen:
.mydomain.com
hier ist die Antwort-Header, die das Cookie setzt:
MYAUTHCOOKIE=FOO; domain=.mydomain.com; path=/; HttpOnly
Dies alles für normale Browser-Anfragen gut funktioniert.
Allerdings muss ich eine AJAX-Anfrage von mydomain.com
und www.mydomain.com
bis abc.mydomain.com
machen.
Wenn ich die Anfrage mache, wird der Authentifizierungscookie nicht übergeben. Warum ist das und was kann ich dagegen tun?
Wenn ich eine Anfrage an den gleichen Host wie die Seite machen die JS auf residiert, ist es das Cookie senden: s
Hier ist mein Anforderungscode:
$.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');
}
});
Ist das eine Cross-Domain-Politik ? Warum funktioniert die Cookie-Domain nicht?
Dank
Wenn Sie document.domain auf der URL http://one.foo.com/ auf "foo.com" setzen, weiß der Server die document.domain-Einstellung unter http://two.foo.com/ vorher es macht die Anfrage an "zwei"? –
Wie wirkt sich dies auf CORS-Anforderungen mit Zugriffssteuerungsheadern aus? – Mnebuerquo