2013-02-15 93 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。