我想要完成的是使用 ajax 的内联登录,它执行以下操作:
登录链接显示在不安全的 HTTP 页面上,可以说“ http://www.somedomain.com/somepage/ ”这里没有收集登录信息
单击登录链接时,会创建一个 iframe,其中 src 指向“ https://www.somedomain.com/rest_api/values/ ” 这是登录表单首次显示的位置,通过 HTTPS
在新的 iframe 弹出窗口中,向用户展示了一个登录表单,该表单本身是通过 HTTPS 加载的安全登录表单,用户填写表单并单击继续返回给自己。
假设用户已成功登录,则会对可访问的脚本进行 jquery 调用,通过
window.parent.document
该脚本可使用当前用户小部件更新原始页面,然后调用要销毁的 iframe。
当我强制 iframe 使用相同的域和协议时,这很有效,但是一旦我进入 HTTP 并强制 IFRAME 使用 HTTPS 加载登录脚本,我就会得到可怕的“权限被拒绝访问属性'文档' " 成功登录后 Firebug 中的错误。
我知道Access-Control-Allow-Origin
需要设置标头,因此它被动态设置为使用请求页面的任何域的 HTTPS 版本,并且我已经在原始页面请求的 Firebug 中的标头响应中验证了这一点。
那么为什么我仍然收到错误,响应标头显示:
Access-Control-Allow-Origin: https://www.somedomain.com
那么我需要设置其他东西,还是问题可能在其他地方?
谢谢你的帮助!
编辑:上面更新指出我并不愚蠢,登录表单确实是安全加载的;)