0

我想通过匹配对象内部的一个名为“Id”的属性,在我的 LDAP 中只找到一个元素。

LDAP 架构如下

> dc=myCompany,dc=com
>    ou=apiRoles     
>       cn=RoleAdmin
>            objectClass : apiRole
>            RoleCode    : 1
>            user (list of them with values)

现在我能够做这个查询,它给我带来了所有的 apiRole 类,

List<LdapRole> ldapRoles = ( List<LdapRole>)ldapTemplate.search("ou=apiRoles", "(objectClass=apiRole)", new LdapRole());

我对此很陌生,所以据我了解,我查看的是“ou = apiRoles”树的基础,然后按对象类过滤

现在我该如何改变它以适应我想要的......这是通过 RoleCode 的值来查看。

谢谢

4

1 回答 1

0

我认为如果您替换"(objectClass=apiRole)""(RoleCode=1)".

或者你可以建立一个过滤器。如果您使用的是 Spring LDAP 1.3.2:

AndFilter filter = new AndFilter();
filter.and(new EqualsFilter('RoleCode', '1'));

然后你会"(objectClass=apiRole)"filter.encode()

于 2014-02-24T14:57:08.067 回答