0
我是LDAP驗證的新用戶。我想用他們的LDAP憑證來認證用戶。 爲此,我從服務器獲取了應用程序憑據,以便我可以驗證其他用戶。應用程序用戶對用戶的LDAP驗證
我作爲應用程序的用戶憑據如:
Test LDAP Server IP: xx.xx.xx.xx
Port: 389
Bind DN:uid=uidxx,ou=applications,dc=dcxx
password: passxx
爲了驗證這個用戶,我寫的代碼爲
public String ldap()
{
String value=null;
SearchControls constraints= new SearchControls();
Hashtable<String, String> env= new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://xx.xx.xx.xx:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=uidxx, ou=applications, dc=dcxx");
env.put(Context.SECURITY_CREDENTIALS,"passxx");
try {
DirContext ctx = new InitialDirContext(env);
value = "Done with it";
}
catch(AuthenticationException e)
{
value = "Invalid User name or password";
}
catch (NamingException e) {
e.printStackTrace();
value = "Exception occurred";
}
return value;
}
我返回值作爲"Done with it"
現在我想要認證其他用戶的郵件ID和密碼是我所知道的。 它就像我想驗證其他用戶使用他們的mailid,密碼,併爲此我得到了uidxx和passxx來驗證它們。 我應該怎麼做?
沒有從其他來源獲得太多幫助。
謝謝
感謝tomas789。我只讀了數據庫服務器的訪問權限。我的憑證是uidxx,passxx和應用程序,如上所述。現在,這些憑證用於驗證我的身份,以便使用他們的郵件ID和密碼驗證其他用戶。上述代碼驗證了我的成功。現在我想在我的應用程序中驗證其他人。我應該怎麼做? –
@Optimus我很確定我已經回答了這個問題。在上述第1步中,您使用您的憑證進行綁定,並在第3步中使用USER的憑證進行綁定。如果它成功用戶提供的有效憑證,否則他沒有。如果你已經知道這一點,你可以直接跳到步驟3(當用戶提供電子郵件地址或名稱或類似的東西時,這個步驟通常不是特別的),所以步驟1和步驟2只需獲取用戶的DN(不是你的) – tomas789