何が私のクッキーを食べているのですか? asmxコールでCookieが転送されない

私はここに(ブラウザ)クッキーの問題があります。

Sharepointページ(http:// myServer:24628/sites/myApp/myDocumentLibrary/test.aspx)があります。ページがリクエストされると、要求ヘッダー(firebugを使用)にASP.NET_SessionIdクッキーがあることがわかります。

ヘッダーを要求する:

Host: myServer:24628
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Cookie: ASP.NET_SessionId=2vhaxii0hxqeazii2sgw3q55; WSS_KeepSessionAuthenticated=24628
If-Modified-Since: Thu, 27 Oct 2011 15:41:15 GMT
Cache-Control: max-age=0

レスポンスヘッダー:

Cache-Control: private, max-age=0
Content-Length: 210604
Content-Type: text/html; charset=utf-8
Expires: Wed, 12 Oct 2011 15:41:24 GMT
Last-Modified: Thu, 27 Oct 2011 15:41:24 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 12.0.0.6421
X-AspNet-Version: 2.0.50727
Set-Cookie: WSS_KeepSessionAuthenticated=24628; path=/
http%3A%2F%2FmyServer%3A24628%2Fsites%2FmyApp%2FDiscovery=WorkspaceSiteName=UG9ydGFs&WorkspaceSiteUrl=aHR0cDovL3dlYmFwcDAxOjI0NjI4L3NpdGVzL251bnRpbw==&WorkspaceSiteTime=MjAxMS0xMC0yN1QxNTo0MTozMQ==; expires=Sat, 26-Nov-2011 16:41:31 GMT; path=/_vti_bin/Discovery.asmx
Date: Thu, 27 Oct 2011 15:41:31 GMT

After the page loads I make an asmx request (POST):

ヘッダーを要求する:

Host    myServer:24628
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept  text/javascript, text/html, application/xml, text/xml, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection  keep-alive
X-Requested-With    XMLHttpRequest
X-Prototype-Version 1.7
Content-Type    application/json; charset=UTF-8
Referer http://myServer:24628/sites/myApp/myDocumentLibrary/test.aspx
Content-Length  42
Cookie  WSS_KeepSessionAuthenticated=24628

asmxコールを作成する直前に、私は 'ASP.NET_SessionId'クッキーの値を警告します。それはそこにあり、価値は正しいです。

notify.asmx呼び出しで、私はいくつかのロジックを実行できるようにクッキー値を取得する必要があります。これは明らかに失敗します。
ここで何が起こっているのですか?

ああ、

マヌー。

4
@ jadarnel27 - ハ!私は同じことを投稿しようとしていた!私は前に答えに殴られましたが、クッキーモンスターのコメントはありません!
追加された 著者 Curt,
そこからロードされたjavascriptはどこに呼び出されますか?それは "myserver:24628"または他のドメインから来ていますか? jQuery ajaxセッションCookieを送信していないことをご確認ください。>> stackoverflow.com/questions/ 2870371 /…
追加された 著者 NotMe,
追加された 著者 jadarnel27,
@Curt great minds! @ TweeZzようこそ=)
追加された 著者 jadarnel27,
@ jadarnel27あなたは6時間の疲れた後、私の顔に笑顔を立てることができます.. thx
追加された 著者 TweeZz,

3 答え

Hostフィールドが2つの要求で同じではないため、Cookieは送信されません。

ホスト:webapp01:24628

     

ホストmyServer:24628

2
追加された
それは私がポストを作る前に手動で "webapp01"を変更するのを忘れたからです。私の悪い、悲しい
追加された 著者 TweeZz,

javascriptは実際に別の場所から読み込まれました。 Chris Livelyが私の質問に対するコメントで示唆したように。

1
追加された

すべての拠点を網羅していますが、 [WebMethod(EnableSession = true)] ですか?

これはIEでのみ起こっていますか? IEのみでこれを見たことがありますが、P3Pヘッダーエントリを追加する必要がありましたが、それはクロスドメインSSOソリューションのためでした。

0
追加された
なぜこれはWebMethod属性で何かをしなければならないのでしょうか?それはブラウザがクッキーを転送していないようです。
追加された 著者 TweeZz,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript