不能通配符搜索"成员"在openLDAP中

时间:2012-11-14 18:01:33

标签: ldap openldap

。 我有一个奇怪的问题,我似乎无法使用通配符搜索"成员"或者"独特的会员"小组的归属。

请考虑以下事项:

cn=myusers,ou=groups,dc=example,dc=com
objectClass=groupOfNames
objectClass=top

返回正常:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(objectclass=groupOfNames)" member

cn=myusers,ou=groups,dc=example,dc=com
member=cn=user1234,ou=groups,dc=example,dc=com

如果我使用它,它也可以正常工作:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(&(member=cn=user1234,ou=groups,dc=example,dc=com)(objectclass=groupOfNames)" member

但是,假设我想找到所有组,其成员名称以" user"开头。我试试这个:

ldapsearch -h ldap-server -p 389 -D "cn=admin,dc=example,dc=com" -w Password -s sub -b "ou=groups,dc=example,dc=com" "(&(member=cn=user*)(objectclass=groupOfNames))" member

但没有任何回报!

现在我尝试将索引添加到"成员"和"独特的成员" attibutes as:

member pres,eq,approx,sub
uniquemember pres,eq,approx,sub

...但是获得了返回的错误'其他信息:约为属性索引"成员"不允许',所以我留下了:

member pres,eq
uniquemember pres,eq

即使在更改之后,我仍然无法使用" member"进行通配符搜索。或"独特的成员" attibutes。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这与UnboundID Directory Server的预期一致。尝试更新目录服务器软件 - 在OpenLDAP论坛上有一些类似的问题,通过修复DN规范化解决了这个问题。

此外,没有“通配符”搜索这样的东西。您引用的断言值导致所谓的“子串”搜索。为了提高性能,服务器应该索引子串(member)的uniqueMembersub属性值,假设传统OpenLDAP服务器支持为子字符串索引这些属性。