POST 一个表单在 Internet Explorer 中不工作

POST a form doesn't work in Internet Explorer

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

最初,SAML 请求以 POST 形式发送到 http://customer0.abc.com/HandleServlet which knows that customer1 is the one supposed to handle that request, so in response it submits that request server 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 设置可能是什么原因?

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

中使用