У меня есть веб-приложение, которое использует LDAP для входа в систему.
Я использую Openid4Java , чтобы позволить пользователям входить в систему с открытым идентификатором, и это прекрасно работает, но когда я хочу сделать перенаправление на мою страницу index.jsp, она перенаправляет меня обратно на страницу входа, потому что я не аутентифицирован с использованием LDAP .
Я создал метод аутентификации для демо-пользователя с LDAP, но вопрос в том, как «сообщить» HttpResponse из открытого идентификатора, что я также вошел в систему с LDAP?
Это метод doGet сервлета, который заботится об аутентификации OpenId. Кроме того, вы заметите, что я делаю аутентификацию LDAP. перед перенаправлением (единственная проблема заключается в том, что для openId я использую свою учетную запись gmail, а для LDAP - демо-счет, и я не знаю, как обрабатывать ответ ...)
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("--------GET----------------");
System.out.println("context: " + context);
Identifier identifier = this.verifyResponse(req);
System.out.println("identifier: " + identifier);
if (identifier == null) {
this.getServletContext().getRequestDispatcher("/login_new.jsp")
.forward(req, resp);
} else {
req.setAttribute("identifier", identifier.getIdentifier());
final String applicationUrl = req.getRequestURL().toString();
final String redirectTo = applicationUrl.substring(0,
applicationUrl.indexOf("/servlet")) + "/" + "index.jsp";
System.out.println("Login through open id succeded, redirect to: "
+ redirectTo);
if (authenticateUserInJbossLDAP())
resp.sendRedirect(redirectTo);
}
}
У вас есть какой-нибудь совет?
Спасибо.