Есть ли простой способ проверить учетные данные пользователя в отношении экземпляра LDAP? Я знаю, как написать Java-программу, которая будет принимать "Пользовательское DN" и пароль, и проверить его на примере LDAP. Однако есть ли более простой способ? Специально метод, который не только аутентифицирует пользователя, но также перечисляет все роли пользователя.
Простой способ проверки учетных данных пользователя LDAP
Ответ 1
ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>
, где binddn
- это DN лица, чьи учетные данные вы аутентифицируете.
При успехе (то есть действительных учетных данных) вы получаете Result: Success (0)
. При сбое вы получаете ldap_bind: Invalid credentials (49)
.
Ответ 2
Используйте ldapsearch
для аутентификации. Версия opends
может использоваться следующим образом:
ldapsearch --hostname hostname --port port \
--bindDN userdn --bindPassword password \
--baseDN '' --searchScope base 'objectClass=*' 1.1
Ответ 3
Вы должны проверить Softerra LDAP Browser ( бесплатную версию администратора LDAP), которую можно скачать здесь:
http://www.ldapbrowser.com/download.htm
Я использовал это приложение для всех моих разработок Active Directory, OpenLDAP и Novell eDirectory, и это было абсолютно бесценно.
Если вы просто хотите проверить и посмотреть, работает ли комбинация имени пользователя\пароля, все, что вам нужно сделать, это создать "Профиль" для сервера LDAP и затем ввести учетные данные во время шага 3 процесса создания:
Нажимая "Готово", вы эффективно создаете привязку к серверу, используя учетные данные, механизм авторизации и пароль, которые вы указали. Вам будет предложено, если привязка не работает.
Ответ 4
Аутентификация выполняется с помощью простой команды ldap_bind, которая принимает DN пользователей и пароль. Пользователь аутентифицируется, когда привязка успешна. Обычно вы получаете DN пользователей через ldap_search на основе пользователей uid или адреса электронной почты.
Получение ролей пользователей является чем-то другим, так как это ldap_search и зависит от того, где и как роли хранятся в ldap. Но вы могли бы получить роли во время lap_search, используемые для поиска DN пользователей.
Ответ 5
Обратите внимание: если вы не знаете свой DN полного связывания, вы также можете просто использовать свое обычное имя пользователя или адрес электронной почты с -U
ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'
Ответ 6
Если вы настроили Kerberos, о чем:
kinit -V [email protected]