我有一個模仿Domino登錄表單的servlet。通過目錄服務對LDAP進行身份驗證。以編程方式驗證用戶
服務器首先檢查密碼是否過期。如果尚未過期,則繼續對用戶進行身份驗證。然後,通過發送模仿Domino默認登錄頁面的HTML,驗證過程從servlet開始,代碼如下。這不是很安全。
在Java中是否有一個Domino方法可以調用來從我的servlet驗證用戶?
我正在考慮做一個POST,但不知道這是否安全。
任何想法?
private void logUserIntoNotes(HttpServletResponse response) throws IOException
{
String action = "/names.nsf?Login";
System.out.println("Action=" + action);
System.out.println("Username=" + username);
//System.out.println("Password=" + password);
System.out.println("RedirectTo=" + redirectTo);
response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
out.println("<html><head><title>Login Page</title></head><body>");
out.println("Logging in. Please wait ...");
out.println("<form method=\"post\" name=\"login\" action=\"" + action + "\">");
out.println("<input type=\"hidden\" name=\"Username\" value=\"" + username + "\">");
out.println("<input type=\"hidden\" name=\"Password\" value=\"" + password + "\">");
out.println("<input type=\"hidden\" name=\"RedirectTo\" value=\"" + redirectTo + "\">");
out.println("</form>");
out.println("<SCRIPT LANGUAGE=\"JavaScript\"> document.forms[\"login\"].submit(); </SCRIPT>");
out.println("</body></html>");
}
你能解釋你爲什麼這樣做嗎?爲什麼用戶不能以正常方式登錄到Domino服務器? – 2013-04-25 21:03:29
@Richard。一個合理的問題,但是一旦涉及servlet,任何事情都可能發生。 – giulio 2013-04-26 07:34:36
@布魯斯,你說你檢查密碼已過期。這意味着你正在使用某種認證。 LTPAToken? – giulio 2013-04-26 07:37:39