#java #ldap #ldap-query
#java #ldap #ldap-запрос
Вопрос:
Я немного разбираюсь в LDAP. У меня есть организационная структура в LDAP в формате ниже,
uid=test.gen, OU= Generics,O=cco.mycomp.com
Указанный выше uid является частью группы «EF_GROUP» и некоторых других групп.
Теперь я получаю только конечное значение примечания в моем методе, которое называется «test.gen».
Итак, моя проблема в том, что я хочу получить все группы, к которым принадлежит данный uid.
Пожалуйста, помогите мне.
Комментарии:
1. Это наш внутренний метод, например, checkAccess(String uid) { // здесь я хочу узнать все группы, к которым принадлежит данный uid}
2. Итак, вы посмотрели, например, на это ?
3. ОК. Я пройду по вашей ссылке.
Ответ №1:
Запрос LDAP
(amp;(objectClass=group)(memberof=YourUsersDNhere))
нашел бы их. Вам должно быть разрешено указывать базовый DN, в котором должны быть расположены группы. Что приятно, поскольку это также немного расширит запрос.
Однако у вас не будет атрибута memberUid для группы в ADAM, как в OpenLDAP или тому подобном, что было бы еще проще в поиске. Хотя, конечно, вы могли бы сохранить его и использовать вместо этого. (memberUid обычно является просто коротким именем пользователя, а не полным именем пользователя, которое обычно находится в member).
Ответ №2:
ldapsearch -xb 'dc=example,dc=com' '(amp;(cn=*)(memberUid=USER))'
где USER — это uid, о котором вы хотите знать
Ответ №3:
В зависимости от того, на каком сервере каталогов размещены ваши данные, вы можете запросить атрибут memberOf
or isMemberOf
в своем запросе поиска LDAP, чтобы определить, к каким группам принадлежит пользователь. В записи блога «Использование класса объектов groupOfUrls» приведен пример такого типа поиска.
Комментарии:
1. Привет, Терри, я использую ADAM (сервер каталогов Microsoft), поскольку у меня есть значения конечного узла. Я должен выполнять поиск снизу, поэтому я не понимаю, как искать группы только по значению uid.