我对服务器的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设置的原因?
答案 0 :(得分:0)
这是X-Frame-Options和内容安全策略的问题。一旦我改变了它们,它就可以在Internet Explorer和Chrome中使用。