c# - 使用 "cross-domain"来登录另一个域

标签 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 仍然希望我再次登录。为什么会发生这种情况?

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

谢谢

最佳答案

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

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

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

您可以在 POST 登录完成后尝试使用 javascript 复制身份验证 cookie。

关于c# - 使用 "cross-domain"来登录另一个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902230/

相关文章:

javascript - iOS6 中没有删除 Angular 1.2.5 动画类

javascript - Mongoose:将 find() 结果移动到文件中的数组

javascript - 通过客户端javascript访问服务器中的sqlite

javascript - 在 Jquery 中切换/添加/删除类未按预期工作

javascript - 使用 jQuery 动态添加数据后重新加载 CSS 的最有效方法是什么?

c# - 检查是否没有返回数据行

c# - 尝试使用 Graph API 访问驱动器项目时出现 "Tenant does not have a SPO license"

jquery - 当包含 Jquery 图形库时,$ 在 WordPress 中是未定义错误

java - 是否有适当的方法来管理从文件中删除数据?

c# - 将条件表达式解析为字符串