从LDAP查询结果中隐藏搜索值

从LDAP查询结果中隐藏搜索值,ldap,openldap,Ldap,Openldap,我有一个ldap条目cn=My Name、ou=users、dc=domain、dc=com,其中包含以下属性: mail: test@domain.com mail: test2@domain.com 然后我在ou=users、dc=domain、dc=com上使用LDAP\u SCOPE\u子树执行搜索,并使用以下查询过滤器:mail=test@domain.com请求的属性将是mail 答案是: test@domain.com test2@domain.com 但我只想test2@do

我有一个ldap条目cn=My Name、ou=users、dc=domain、dc=com,其中包含以下属性:

mail: test@domain.com
mail: test2@domain.com
然后我在ou=users、dc=domain、dc=com上使用LDAP\u SCOPE\u子树执行搜索,并使用以下查询过滤器:mail=test@domain.com请求的属性将是mail

答案是:

test@domain.com
test2@domain.com
但我只想test2@domain.com结果呢

是否可以使用查询筛选器或OpenLDAP ACL执行此操作

我已经尝试了查询筛选器:&邮件=test@domain.com!邮寄=test2@domain.com,但这将返回一个空值

我对ACL的想法是使用类似attrs=mail val=*searchquery*的东西来控制对部件的访问,但是关于这一点的讨论不是很详细


有没有解决这个问题的办法?否,将其更改为两个不同的属性实际上不是一个选项

否。调整查询筛选器只会影响返回的节点,而不会影响随它们一起返回的属性值。你想要的东西没有搜索语法。第二个值是您想要的值的基础是什么?后台是一个postfix mailserver,它与LDAP一起用作用户/转发数据库。该结构是每个用户在其用户帐户/邮件地址的邮件属性中拥有的结构。如果用户只有一个转发地址,则该地址存储在mailForwardingAttribute中,目标地址存储在mail属性中。现在我有一个拥有邮件帐户的用户,他使用了转发功能。结果他收到了每封邮件两次。。。但是,我应该重新思考LDAP结构……您刚才描述的内容并不是您问题中所说的内容,也不能回答我的问题。为什么用户具有两值邮件属性?在什么可能的基础上你可以在他们之间做出选择?