Ich arbeite derzeit an einem Stück Code in einer Feder-Anwendung, die entscheiden muss, ob der Benutzer, der sich anmeldet, auf die neue Website (auf einem anderen Server) umgeleitet werden soll oder weiter das Alte.Umleiten von Anwendung nach POST zu anderen Server
Ich habe dies über POST mit Apache HttpClient getan und ich konnte auf der neuen Website von der alten Anmeldung anmelden.
Mein Problem ist, dass ich den Browser nach der Anmeldung nicht auf die neue Seite umleiten kann und "eingeloggt" bleibe, sondern mich auf die Login-Seite der neuen Seite umleite, weil ich nicht eingeloggt bin in.
private void redirect2NewSite(HttpServletResponse response, String docNum, String username, String passwd) {
String url = "http://localhost:9080/website/doLogin";
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
List<NameValuePair> urlParameters = new ArrayList<>();
urlParameters.add(new BasicNameValuePair("documentNumber", docNum));
urlParameters.add(new BasicNameValuePair("username", username));
urlParameters.add(new BasicNameValuePair("password", passwd));
post.setEntity(new UrlEncodedFormEntity(urlParameters));
HttpResponse postResponse = client.execute(post);
String responseUrl = postResponse.getFirstHeader("Location").getValue();
response.setHeader("Location", responseUrl);
response.sendRedirect(responseUrl); // This sends me to the new page login
// But should send me to the home page, already logged in
}
Das alte Projekt verwendet Struts, um an Controller oder jsps umzuleiten.