2011-10-27 5 views
4

ここに(ブラウザ)Cookieの問題があります。私のクッキーを食べるのは何ですか? 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 

レスポンスヘッダ:

リクエストヘッダ::私はASMXリクエスト(POST)を作るページが読み込まれた後

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 

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' Cookieの値を警告します。それはそこにあり、価値は正しいです。

notify.asmx呼び出しでは、いくつかのロジックを実行できるようにクッキー値を取得する必要があります。明らかに失敗します。
ここでは何が起こっていますか? (右のため、同じドメイン?) http://myServer:24628/sites/myApp/_layouts/WebServices/NotifierServices.asmx/Notify それはIE/FFに起こって

  • (他のブラウザを試していない):

    オウいや、ここ

    • は通知サービスのURLです当社の生産サーバー上の
    • それはWebサービスが明示的に(意図的に)偽
    にEnableSessionを設定している
  • 正常に動作しています

    Manu。

    +6

    [疑わしい](http://upload.wikimedia.org/wikipedia/en/5/5e/Cisforcookie.jpg)。 – jadarnel27

    +1

    @ jadarnel27あなたは6時間の疲れた後、私の顔に笑顔を立てることができます.. thx – TweeZz

    +0

    @ jadarnel27 - Ha!私は同じことを投稿しようとしていた!私は前に答えに殴られましたが、クッキーモンスターのコメントはありません! – Curt

    答えて

    1

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

    0

    すべてのベースをカバーしていますか?[WebMethod(EnableSession = true)]ですか?

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

    Hostフィールドは、2つのリクエストで同じではありませんので、あなたのクッキーが送信されません
    +2

    なぜWebMethod属性でこれを行う必要がありますか?それはブラウザがクッキーをtranferringしていないようです.. – TweeZz

    2

    ホスト:webapp01:24628

    ホストmyServerという:24628

    +0

    私はポストを作る前に手動で "webapp01"を変更するのを忘れてしまったからです..私の悪い、悲しい – TweeZz

    関連する問題