У меня есть ситуация, как показано ниже:
У меня есть 2 веб-приложения, работающие на Tomcat.Сначала пользователь входит в приложение 1, а затем.Существует ссылка на Приложение 2. При нажатии на ссылку Пользователь должен быть перенаправлен на второе приложение.
Оба приложения используют аутентификацию LDAP.
Теперь проблема заключается в том, что второе приложение имеет собственную систему аутентификации.
Итак, мы планируем неявную аутентификацию пользователя, вошедшего в первую систему.
Я написал сервлет, который запускается, когда я нажимаю на ссылку для App2 в App1.
Я пытаюсь использовать приведенный ниже код, который должен вызывать сервлет «ldap-login» в app2 с заданными параметрами. Имена параметров верны.
String targetURL = "http://localhost:8080/app2/ldap-login";
HttpClient client = new HttpClient();
PostMethod doPost = new PostMethod(targetURL);
//doPost.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, true);
doPost.addParameter("login_netid", "alice");
doPost.addParameter("login_password", "alice");
try {
int status = client.executeMethod(doPost);
if (status == HttpStatus.SC_OK) {
// redirect
response.sendRedirect("http://localhost:8080/app2/myPage");
} else {
System.out.println("Service failed, Response Code= " +
HttpStatus.getStatusText(status));
System.out.println("Response Body --> " + doPost.getResponseBodyAsString());
}
} catch (Exception ex) {
System.out.println("ERROR: " +
ex.getClass().getName() + " "+ ex.getMessage());
ex.printStackTrace();
} finally {
doPost.releaseConnection();
}
Но я получаю ответ «Временно перемещен".
Может кто-нибудь предложить мне альтернативу?