2016-01-15 58 views
2

我有一些特殊的自定义属性与我的ldap设置。我有一个名为“GroupCode”的自定义属性。我有一堆具有这个特殊属性的条目,我可以写入ldap数据库。假设我有一个属性为“xyz”的条目,另一个属性为“wasd”。我使用过滤器“(GroupCode = xyz)”和“(GroupCode = wasd)”进行搜索,这些搜索都不返回任何内容。但是,如果我将过滤器更改为“(GroupCode = *)”,那么它将返回具有GroupCode属性的所有条目。我检查了属性的属性,它看起来很正常,apache目录studio显示它是“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)