2014-01-05 5 views
0

Я пытаюсь заполнить некоторые значения samba в моем LDAP на основе некоторой информации о пользователе. Помимо прочего, я должен создать «sambaSID» для пользователя. Он состоит из двух значений: префикса, который является sambaSID объекта sambaDomainName, и суффикса, который равен 1000 + (2 * uid) от пользователя.Не удается получить sambaSID из LDAP с использованием Spring LDAP

Я могу видеть атрибут sambaSID из моего sambaDomainName используя ldapsearch так:

ldapsearch -x -D {adminUser} -W -H ldap://...:389 -b $base -s sub "sambaDomainName=TRON" sambaSID 

adminUser и основание правильно предусмотрено.

Теперь, если я попытаюсь сделать то же самое в Java, используя Spring LDAP, я вижу все атрибуты , кроме для SambaSID. Такое же поведение происходит для объекта группы LDAP, из которого мне также нужен SambaSID.

Как я могу прочитать любое другое свойство, я считаю, что есть что-то особенное в SambaSID.

У кого-нибудь есть идеи?

Заранее благодарен! DodoFXP

+0

Пожалуйста, разместите свой код, чтобы показать, как вы «пытаетесь сделать то же самое на Java, используя Spring LDAP». –

ответ

0

Я решил проблему:

Я использую пружинный LDAP, создавая LdapContextSource, настраивая его с принципалом и пароль, а затем передать его в LdapTemplate.

В LdapTemplate не используется .getReadWriteContext(), который выполняет аутентификацию. Следовательно, я использовал анонимный доступ. При выполнении операции с DirContext, возвращаемой getReadWriteContext(), я получаю все атрибуты.

Кроме того, аутентификация была повторно включена в LDAP, поэтому анонимный покажет еще меньше атрибутов.

Смежные вопросы