Я установил соединение с сервером LDAP в Java, используя:
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://XXX");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "DOMAIN\\user.name");
env.put(Context.SECURITY_CREDENTIALS, "password");
DirContext ctx = new InitialDirContext(env);
if(ctx != null){
// get details : samaccount, mail, userprincipal, all fields from AD
}
Я новичок на всех компьютерных языках, но в PHP я могу определить фильтр, используя samaccountname
(так же, какuser.name
в предыдущем коде), и этот поиск возвращает ассоциативные массивы всех деталей этого пользователя.Как я могу сделать это на Java?Просто используя samaccountname
(пользователь введет только значение user.name
и его пароль), после того, как привязка будет выполнена, и контекст будет создан, получите все его данные.
Заранее спасибо.
(PS: я не нашел в Google ничего, что могло бы помочь).