【发布时间】: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