Spring-Ldap:LdapQuery

LDAP搜索涉及许多参数,例如:
  • 基本LDAP路径 - 搜索开始时LDAP树中的哪个位置。

  • 搜索范围 - 搜索应该在LDAP树中有多深。

  • 要返回的属性

  • 搜索过滤器 - 在范围内选择元素时使用的标准。

Spring LDAP提供了LdapQueryBuilder一个流畅的API来构建LDAP查询。

假设我们想要从基本DN开始执行搜索dc=261consulting,dc=com,将返回的属性限制为“cn”和“sn”,并使用过滤器(&(objectclass=person)(sn=?)),我们希望将?其替换为参数的值lastName

除了简化构建复杂的搜索参数之外,该类LdapQueryBuilder及其相关类还提供适当的转义,以避免搜索过滤器中的任何不安全字符。这可以防止“ldap注入”,其中用户可能使用这些字符将不需要的操作注入到LDAP操作中。

有许多重载的方法LdapTemplate用于执行LDAP搜索。这是为了适应尽可能多的不同用例和编程风格偏好。对于绝大多数用例来说,采用LdapQuery输入的用例将是推荐使用的方法。

AttributesMapper只是处理搜索和查找数据时可用的回调接口之一。有关替代方法,请参阅使用DirContextAdapter简化属性访问和操作
posted @ 2018-05-02 20:45  CryDongle  阅读(83)  评论(0编辑  收藏  举报