【问题标题】:How to query multiple users from LDAP如何从 LDAP 查询多个用户
【发布时间】:2017-02-23 12:24:10
【问题描述】:

如何从 LDAP 查询多个用户。

我正在使用 DirContext.search(base,filter,scope);在我的java程序中

到目前为止,它与一个值过滤器一起工作正常。 filter=("uid=name")

但我的要求是一次将多个名称传递给过滤器

filter=("uid=name1,name2,name3....")  .

【问题讨论】:

标签: java unix ldap


【解决方案1】:

LDAP 对其过滤器使用“PREFIX”表示法。

例如:

条件

(|(attr1=val1)(attr2=val2)(attr1=val2))

AND条件

(&(attr1=val1)(attr2=val2)(attr1=val2))

在您的情况下,过滤条件如下:

filter = "(|(uid=name1)(uid=name2)(uid=name3))"

上述过滤器的意思是:

查找拥有uid=name1 OR uid=name2 OR uid=name3 的任何用户。

这应该列出用户 ID 为 name1、name2 或 name3 的用户。


更多示例:

平等:(attribute=abc),例如(&(objectclass=user)(displayName=JohnDoe))

否定:(!(attribute=abc)),例如(!objectClass=group)

存在:(attribute=*),例如(mailNickName=*)

缺席:(!(attribute=*)),例如(!proxyAddresses=*)

大于:(attribute>=abc),例如(storageQuota>=100000)

小于:(attribute<=abc),例如(storageQuota

接近度:(attribute~=abc),例如(displayName~=JohnDoe)

*(~= 可能不兼容所有目录服务器!!)

通配符:例如(sn=J*) 或 (mail=*@example.com) 或 (givenName=*John*)


希望这会有所帮助!

【讨论】:

  • 可以传入多少个id有限制吗? 2000个用户ID会不合理吗?
猜你喜欢
  • 2011-07-12
  • 2017-08-28
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多