POST表单在Internet Explorer中不起作用

时间:2016-05-09 20:03:04

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

我对服务器的SAML请求不是登录服务器,因此服务器接收请求并将其发布到登录服务器的服务器。 E.g。

最初向http://customer0.abc.com/HandleServlet发送SAML请求,该请求知道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设置的原因?

1 个答案:

答案 0 :(得分:0)

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