【问题标题】:POST a form doesn't work in Internet ExplorerPOST 表单在 Internet Explorer 中不起作用
【发布时间】:2016-05-09 20:03:03
【问题描述】:

我有一个未登录服务器的SAML 请求,因此该服务器接受请求并将其发布到已登录服务器的服务器。例如

最初,一个 SAML 请求被发送到 http://customer0.abc.com/HandleServlet,它知道 customer1 应该处理该请求,因此它以 POST 形式提交请求服务器 http://customer1.abc.com/HandleServlet 作为响应。出于某种原因,这在 Internet Explorer 11 中不起作用,但在 Chrome 或 Firefox 中运行良好。

StringBuffer sbfForm = new StringBuffer();
PrintWriter out = request.getWriter();
request.setContentType("text/html");
sbfForm.append("<html><body onload=\"document.abcform.submit()\">\n");
sbfForm.append("<form action=\"" + destURL + "\"  method=\"POST\" name=\"abcform\">\n");
sbfForm.append("<input type=\"hidden\" name=\"SAMLRequest\" value=\"" + samlRequestMsg + "\" />\n");
sbfForm.append("<input type=\"hidden\" name=\"RelayState\" value=\"" + relayState + "\" />\n");
sbfForm.append("</form></body></html>\n");

out.print(sbfForm.toString());

这在 Chrome 或 Firefox 中可以正常工作,但在 IE 11 中不行。有没有人遇到过类似的问题,IE 设置可能是什么原因?

【问题讨论】:

    标签: java google-chrome internet-explorer-11 saml-2.0


    【解决方案1】:

    这是 X-Frame-Options 和内容安全策略的问题。一旦我更改了两者,它就可以在 Internet Explorer 和 Chrome 中使用。

    【讨论】:

      猜你喜欢
      • 2012-11-09
      • 1970-01-01
      • 2012-01-27
      • 2013-04-22
      • 2011-10-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多