我想在我的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());
}
答案 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)
LdapQueryBuilder和LikeFilter的文档说明您必须在查询中明确使用*
,因此,如果您正在寻找以{{1}开头的用户你必须在过滤器语法中使用Mike
;它只是一个简写,允许您指定通配符而无需转义它。
所以:
Mike*