使用“;“跨域”;为另一个域提供登录
本文关键字:登录 跨域 使用 另一个 | 更新日期: 2023-09-27 17:59:48
我想使用域:aaaa.com在域:cccc.com上为网站提供登录表单。
注意,我完全控制了cccc.com上的服务器,并在cccc.com的服务器上设置了CORS。我基本上也完全控制了aaa.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仍然希望我再次登录。为什么会发生这种情况?
是因为身份验证cookie属于aaa.com吗?我该如何解决这个问题?
感谢
是的,身份验证cookie将属于另一个站点,并且不共享。
如果你有一个cccc.com的子域,而不是一个完全独立的域,那么如果你设置一个域范围的cookie,它就会起作用。
尽管如此,您必须在登录、注销和任何其他修改cookie存储方式的身份验证方法时复制cookie。如果你在另一台服务器上,你也会失去进行会话的能力,除非你有会话状态服务器。
您可以在POST登录完成后尝试使用javascript复制authcookie。