2016-01-15 2 views
2

У меня есть специальные пользовательские атрибуты с моей настройкой ldap. У меня есть пользовательский атрибут, называемый «GroupCode». У меня есть набор записей с этим специальным атрибутом, который я смог записать в базу данных ldap. Допустим, что у меня есть запись с атрибутом «xyz» и другим атрибутом с «wasd». Я ищу с фильтром «(GroupCode = xyz)» и «(GroupCode = wasd)» ни один из этих результатов не возвращает ничего. Однако, если я изменил фильтр на «(GroupCode = *)», тогда он вернет все записи, которые имеют атрибут GroupCode. Я изучил свойства атрибута, и это выглядит нормально, студия каталогов apache показывает, что это значение «String», не знаю, почему он не ищет фильтр, который я предоставил. Мои знания в структуре ldap довольно ограничены, поскольку они довольно сложны. У кого-нибудь есть идея, пожалуйста, дайте мне знать. Очень признателен. Благодарю.Пользовательский атрибут LDAP не может быть найден?

ответ

0

Вы можете увидеть, можете ли вы сформулировать одни и те же критерии поиска в команде ldapsearch в командной строке?

ldapsearch -H ldap://LDAP_SERVER -D LDAP_AUTH_LOGIN -b LDAP_BASE -w PW -x "CRITERIA"

, если это так, то вы можете также экспериментировать с вашими критериями.

ldapsearch -H ldap://LDAP_SERVER -D LDAP_AUTH_LOGIN -b LDAP_BASE -w PW -x "(GroupCode=xyz)"

0

Одной из возможных причин для вашего вопроса в том, что вы забыли указать равноправие и SUSBSTR свойство пользовательского атрибута.

Вот пример для пользовательского атрибута называется SamAccountName:

attributeTypes: (1.2.840.113556.1.4.221 
    NAME 'sAMAccountName' 
    EQUALITY caseIgnoreMatch 
    SUBSTR caseIgnoreSubstringsMatch 
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' 
    SINGLE-VALUE) 
Смежные вопросы