2013-02-15 94 views
1

我想使用域名:aaaa.com为域名为cccc.com的网站设置登录表单。使用“跨域”来登录另一个域名

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

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

是因为身份验证Cookie属于aaa.com吗?我该如何解决这个问题?

谢谢

回答

1

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

如果您有一个cccc.com的子域而不是一个完全独立的域,那么如果您设置了一个域范围的cookie,它就可以工作。

虽然如此,您必须在登录,注销以及任何其他身份验证方法(可修改cookie的存储方式)时复制cookie。如果您位于不同的服务器上,除非拥有会话状态服务器,否则您将失去进行会话的能力。

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