Простой способ проверки учетных данных пользователя LDAP
Есть ли простой способ проверить учетные данные пользователя в отношении экземпляра LDAP? Я знаю, как написать Java-программу, которая будет принимать "Пользовательское DN" и пароль, и проверить его на примере 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 процесса создания:
![enter image description here]()
Нажимая "Готово", вы эффективно создаете привязку к серверу, используя учетные данные, механизм авторизации и пароль, которые вы указали. Вам будет предложено, если привязка не работает.
Ответ 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]