четверг, 16 мая 2019 г.

Пример LDAP на Java

1. Узнаем адрес DC-сервера. Для этого на компьютере, включенном в домен, выполняем команду "systeminfo" и из ее результата запоминаем значения параметров "Домен" и "Сервер входа в сеть". Например:
«...
Домен: mydomain.my
Сервер входа в сеть: \\dc-server

...».
1.1. Получаем имя актуального сервера домена с помощью команды:
«...
nslookup mydomain.my
dc-server

...».

2. Создаем пример класса, с учетом справочной информации "LDAP Authentication", "LDAP & LDAPS URLs", либо берем готовый пример - "LoginLDAP.java" на stackoverflow и компилируем.

3. Запускаем класс из п.2 с учетом информации из п.1.1:
java -cp . test.LoginLDAP url=ldap://dc-server:389 username=myusername@mydomain.my password=mypassword
При успешной авторизации, результатом команды будет нечто подобное:
«
distinguishedName: CN=Иванов Иван Иванович,OU=Подразделение,OU=Филиал,OU=Компания,OU=Организация,DC=mydomain,DC=my
memberOf: CN=...
memberOf: CN=...

».
При неудачной попытке, будет сообщение об ошибке, пример, для некорректного пароля:
«
Exception in thread "main" javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09042F, comment: AcceptSecurityContext error, data 52e, v2580 ]
...».
P.S. Запускать пример можно уже с компьютера, который в домен не включен. Работоспособный вариант для WinDC (для других LPAD-серверов не проверялось). Не проверялась работоспособность LDAPS, только LDAP.

Комментариев нет:

Архив