在尝试在subdomain1.mydomain.com上设置cookie以供subdomain2.mydomain.com读取时,遇到ASP.NET问题。
“subdomain1”是在IIS 6上运行的 ASP.NET 应用程序。 “subdomain2”是在IIS6上运行的 ASP Classic 应用程序。
我不明白的是,当我在Firefox中测试我的.NET页面(下面)时,它可以工作。如果我在IE8下测试它,似乎没有cookie存储/传递给subdomain2。我在下面的代码中尝试了很多变化,但无济于事(包括添加到期日期/时间):
Dim k As Guid = Guid.NewGuid
Dim c As New HttpCookie("Interstitial")
With c
.Values("a") = 1
.Values("b") = 2
.Values("c") = 3
.Values("d") = 4
.Domain = ".mydomain.com"
End With
Response.AppendCookie(c) 'Have also used Response.Cookies.Add(c)
Dim url As String = String.Format("https://subdomain2.mydomain.com/?d={0}", k.ToString)
Response.Redirect(url)
可能相关的其他信息:
非常感谢任何提示/想法。
由于
答案 0 :(得分:1)
您是否尝试通过Fiddler运行该页面?这是一个出色的工具,因为它显示了请求的所有HTTP活动。
我之前遇到过一些奇怪的浏览器问题,这些问题最终会像网络配置一样深奥。提琴手很擅长解决这些问题。
答案 1 :(得分:0)
我相信这是设计(也许是一个有缺陷的设计)。如果请求不在同一域中,WinINET会故意选择不在后续请求中转发重定向响应中设置的Cookie。
请不要引用我,但我相信这是一个错误的安全补丁的结果,该错误发现WinINET转发重定向响应位置的Set-Cookie标头中的任何Cookie,即使目标不在相同的域名。
我怀疑这个错误修复程序比它需要的更严苛。