【问题标题】:LDAP custom attribute cannot be searched?无法搜索 LDAP 自定义属性?
【发布时间】:2016-01-15 20:25:58
【问题描述】:
我的 ldap 设置有一些特殊的自定义属性。我有一个名为“GroupCode”的自定义属性。我有一堆具有这个特殊属性的条目,我可以将它们写入 ldap 数据库。可以说我有一个带有属性“xyz”的条目和另一个带有“wasd”的属性。我使用过滤器“(GroupCode=xyz)”和“(GroupCode=wasd)”进行搜索,这些搜索都没有返回任何内容。但是,如果我将过滤器更改为“(GroupCode=*)”,那么它将返回所有具有 GroupCode 属性的条目。我检查了属性属性,它看起来很正常,apache 目录工作室显示它是“字符串”值,我不知道为什么它没有使用我提供的过滤器进行搜索。我对 ldap 结构的了解相当有限,因为它相当复杂。任何人有任何想法,请告诉我。非常感激。谢谢。
【问题讨论】:
标签:
attributes
ldap
directoryservices
【解决方案1】:
您是否可以在命令行中将相同的搜索条件制定为 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)"
【解决方案2】:
问题的一个可能原因是您忘记指定自定义属性的 EQUALITY 和 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 )