2016-05-09 6 views
0

Ich habe eine SAML Anfrage für einen Server, der nicht ein eingeloggt Server ist, so dass Server die Anfrage übernimmt und es an den Server, der ein angemeldeter Server ist. Z.B.POST ein Formular funktioniert nicht in Internet Explorer

Zunächst wird eine SAML-Anforderung an http://customer0.abc.com/HandleServlet gesendet, die weiß, dass customer1 derjenige ist, der diese Anforderung verarbeiten soll. Daher übergibt sie als Antwort den Anforderungsserver http://customer1.abc.com/HandleServlet in einem POST-Formular. Aus irgendeinem Grund funktioniert dies nicht in Internet Explorer 11, aber funktioniert gut Chrome oder 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()); 

Dies funktioniert in Chrome oder Firefox, in Ordnung, aber nicht in IE 11. Hat jemand ähnliches Problem konfrontiert, was der Grund mit IE Einstellung sein könnte?

Antwort

0

Es war ein Problem mit X-Frame-Optionen und Content Security Policy. Sobald ich beide geändert habe, funktionierte es in Internet Explorer und Chrome.