0

当我从同一域上的另一个 Web 应用程序打开一个页面时,我试图读取在原始页面上创建的 cookie,但我无法读取 cookie。如果我将该页面移动到同一个 Web 应用程序中,那么它可以工作,但这不是我想要的。

[Domain: MyCompany.mobi]
[WebApp A] - create cookie and launch page

Protected Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  Dim aCookie As New HttpCookie("TestCookie")
  aCookie.Value = "Hello World"
  aCookie.Expires = DateTime.Now.AddDays(1)
  Response.Cookies.Add(aCookie)

  Dim script = "window.open('http://MyCompany.mobi/webappB/default.aspx?id=TestCookie')"

  'open page in WebsiteB
  ScriptManager.RegisterStartupScript(Me, Me.GetType, "OpenPage", script, True)
End Sub

[Domain: MyCompany.mobi]
[WebApp B] - read the cookie and display in label

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim id As String = ""

    If Request.QueryString("id") IsNot Nothing Then id = Request.QueryString("id").ToString

    If Request.Cookies(id) IsNot Nothing Then
        Dim aCookie As HttpCookie = Request.Cookies(id)
        Label1.Text = aCookie.Name & " : " & aCookie.Value
    Else
        Label1.Text = "Cannot read cookie"
    End If

End Sub
4

1 回答 1

0

Cookies 与域名相关联;而不是 DNS 指向的物理服务器。

出于安全原因,您不能从不同的域名读取 cookie。
您需要在 URL 中传递信息。

于 2013-04-17T18:54:04.163 回答