如何在LDAP查询中使用like运算符?

时间:2014-12-15 09:47:25

标签: java ldap

我想在我的LDAP查询中使用Like运算符,并找到以String Name开头的任何名称。 (像[Name = Mike *]之类的东西),但显然它不起作用。 任何帮助将不胜感激。

public List<String> findByName(String Name) {
    LdapQuery query = query().where("objectclass").is("top")
            .and("Name").like(Name);

    return ldapTemplate.search(query, new NameAttributesMapper());

}

2 个答案:

答案 0 :(得分:0)

尝试在名称后添加通配符:

public List<String> findByName(String Name) {
LdapQuery query = query().where("objectclass").is("top")
        .and("Name").like(Name + "*");

return ldapTemplate.search(query, new NameAttributesMapper());
}

答案 1 :(得分:0)

LdapQueryBuilderLikeFilter的文档说明您必须在查询中明确使用*,因此,如果您正在寻找以{{1}开头的用户你必须在过滤器语法中使用Mike;它只是一个简写,允许您指定通配符而无需转义它。

所以:

Mike*