使用“跨域”来登录其他域的登录

时间:2013-02-15 19:48:06

标签: c# javascript jquery asp.net-mvc asp.net-mvc-3

我想使用域名: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 个答案:

答案 0 :(得分:1)

是的,身份验证Cookie将属于其他网站,并且不会共享。

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

尽管如此,您必须在登录,注销以及修改cookie存储方式的任何其他身份验证方法时复制cookie。如果您使用的是其他服务器,除非您拥有会话状态服务器,否则您将无法进行会话。

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