#oracle #ldap
#Oracle #ldap
Вопрос:
я пытался использовать DBMS_LDAP
для подключения к серверу ldap для проверки подлинности.
Мой вопрос:
Можно ли использовать sAMAccountName
для подключения к серверу LDAP? Я получаю соединение с полным именем, но хотел сделать с sAMAccountName
, но не знаю, как, я думаю DBMS_LDAP.bind_s
, и DBMS_LDAP.simple_bind_s
не разрешаю использование sAMAccountName
.
Спасибо
Ответ №1:
Я смог использовать bind_s
и simple_bind_s
напрямую с sAMAccountName
помощью префикса, добавляя к нему доменное имя:
l_res := DBMS_LDAP.simple_bind_s(ld => l_session,
dn => l_domain || '' || l_account_name,
passwd => l_password)
Я попытался найти дополнительную информацию или ссылку в документации Oracle, но я не смог найти ничего о том, как построить dn
параметр. Похоже, это зависит от конфигурации сервера AD. В некоторых настройках, например, описанных в этом сообщении на форуме OTN, кажется, можно выполнить аутентификацию %LDAP_USER%@ourdomain.com
.
Комментарии:
1. Ваше
l_account_name
имя sAMAccountName?2. Да, имя учетной записи было sAMAccountName (уникальным для каждого домена), доменным именем был домен в нижней части экрана входа в окно подключения.
3. Итак, что-то вроде этого
l_domain := 'CN='||p_username||',OU=xxx,OU=xxx,DC=xxx,DC=xxx,DC=xxx';
иl_account_name := 'l_sAMAccountName'
?4.
l_domain
является доменом входа. Это должен быть простой идентификатор (это значение в списке выбора в нижней части экрана входа в сеть Windows).