无法搜索LDAP自定义属性?

时间:2016-01-15 20:25:59

标签: attributes ldap directoryservices

我的ldap设置有一些特殊的自定义属性。我有一个名为“GroupCode”的自定义属性。我有一堆具有此特殊属性的条目,我可以写入ldap数据库。假设我有一个属性为“xyz”的条目,另一个属性为“wasd”。我搜索过滤器“(GroupCode = xyz)”和“(GroupCode = wasd)”这些搜索中没有一个返回任何内容。但是,如果我将过滤器更改为“(GroupCode = *)”,则它将返回具有GroupCode属性的所有条目。我检查了属性属性,看起来很正常,apache目录工作室显示它是“String”值,我不知道它为什么不用我提供的过滤器进行搜索。我对ldap结构的了解相当有限,因为它相当复杂。任何人都有任何想法,请让我知道。非常感激。谢谢。

2 个答案:

答案 0 :(得分: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)"

答案 1 :(得分:0)

您遇到问题的一个可能原因是您忘记指定自定义属性的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 )