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を認証してもらいました。どうすればいいですか?
他の情報源から多くの助けを得ていません。
ありがとうございました