1

我想使用域:aaaa.com 在域:cccc.com 上为该站点创建一个登录表单。

请注意,我完全控制了 cccc.com 的服务器,并在 cccc.com 的服务器上设置了 CORS。我基本上也可以完全控制 aaaa.com 上的服务器。

我正在使用 jquery 的 $.ajax 向 cccc.com asp.net mvc 3 服务器发送 POST。看起来我得到了正确的响应,并且在响应中看到了 ASP.NET_SessionId 和 .ASPXAUTH cookie。当我在 javascript 中得到正确响应且没有登录错误时,我想使用 window.location 重定向到 cccc.com/Home/Index。到目前为止,一切似乎都在进行。身份验证、获得正确响应等。但是,当 javascript 重定向时,cccc.com 仍然希望我再次登录。为什么会这样?

是不是因为认证cookies属于aaa.com?我该如何解决这个问题?

谢谢

4

1 回答 1

1

是的,身份验证 cookie 将属于其他站点,并且不共享。

如果您有一个 cccc.com 的子域而不是一个完全独立的域,那么如果您设置一个域范围的 cookie,它将起作用。

尽管如此,您必须在登录、注销和任何其他修改 cookie 存储方式的身份验证方法时复制 cookie。如果您在不同的服务器上,除非您有会话状态服务器,否则您也将失去进行会话的能力。

您可以在 POST 登录完成后尝试使用 javascript 复制 auth cookie。

于 2013-02-15T19:52:23.993 回答