我是 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 和密码的用户。就像我想使用他们的邮件 ID、密码对其他用户进行身份验证一样,为此我得到了 uidxx 和 passxx 来对他们进行身份验证。我该怎么做?
没有从其他来源获得太多帮助。
谢谢