2011-10-27 2 views
4

여기 (브라우저) 쿠키 문제가 있습니다.내 쿠키를 먹는 것이 무엇입니까?! asmx 전화로 쿠키가 전송되지 않습니다.

공유 지점 페이지가 있습니다 (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'쿠키의 값을 경고합니다. 그것은 거기에 있고 값은 정확합니다.

notify.asmx 호출에서 일부 논리를 실행할 수 있으려면 쿠키 값을 검색해야합니다. 이것은 분명히 실패합니다.
여기 무슨 일 이니? (오른쪽, 그래서 동일한 도메인?) http://myServer:24628/sites/myApp/_layouts/WebServices/NotifierServices.asmx/Notify 는 IE/FF에 무슨 일이 일어나고

  • (다른 브라우저를 시도하지 않았다) :

    아야 참, 여기

    • 는 알림 서비스의 URL입니다 우리의 프로덕션 서버에
    • 이 잘
    • 작업 년대 웹 서비스는 명시 적으로 (의도적으로) 거짓
    에 EnableSession를 설정했습니다

    Manu.

    +6

    [가능한 용의자] (http://upload.wikimedia.org/wikipedia/en/5/5e/Cisforcookie.jpg). – jadarnel27

    +1

    @ jadarnel27 심술 궂은 지 6 시간 만 지나면 내 얼굴에 미소를 지을 수 있습니다 .. thx – TweeZz

    +0

    @ jadarnel27 - 하! 나는 같은 것을 올릴 예정였다! 나는 전에 답변에 맞았지만 괴물에 대한 쿠키는 언급하지 않았다! – Curt

    답변

    1

    자바 스크립트 실제로 다른 위치에서로드되었습니다. Chris Lively가 내 질문에 대한 의견에서 제안했습니다.

    0

    모든 자료를 다루는 경우 [WebMethod(EnableSession = true)]이 있습니까?

    IE에서만 이것이 발생합니까? IE에서만 이것을 보았지만 P3P 헤더 항목을 추가해야했지만 크로스 도메인 SSO 솔루션을위한 것이 었습니다.

    호스트 필드는이 요청에 대해 동일하지 않기 때문에 쿠키가 전송되지 않습니다
    +2

    WebMethod 속성을 사용하여이 작업을 수행해야하는 이유는 무엇입니까? 그것은 그 브라우저가 쿠키를 tranferring 것 같습니다 .. – TweeZz

    2

    :

    호스트 : webapp01 : 24,628

    호스트 MyServer를 : 24,628

    +0

    그냥 게시물을 만들기 전에 수동으로 "webapp01"을 변경하는 것을 잊었 기 때문에 .. 내 나쁜, 부러워 – TweeZz

    관련 문제