LDAP:获取特定组中的用户列表

时间:2015-12-01 07:06:28

标签: java ldap

我试图获取特定用户组的所有用户。我在java中这样做,我可以连接到ldap并从不同的查询中获取结果。但是,我已经搜索过fidn解决方案,但据我所知,我所工作的公司的LDAP结构与正常情况不同。

用户:

ou=Users,O=MYCOMPANY.COM

用户组的dn:

cn=Admin,ou=Profiles,ou=MYAPP,ou=Applirights,O=MYCOMPANY.COM

对于用户组,cn是权限级别/组名称(Admin),应用程序的名称位于组织单位中。使用此结构,我将如何查询此特定组中的所有用户?

我试过了:

NamingEnumeration<?> namingEnum = ctx.search("ou=Users,O=MYCOMPANY.COM", "(cn=Admin,ou=Profiles,ou=MYAPP,ou=Applirights,O=MYCOMPANY.COM)", searchControls);

但是搜索控件需要哪些属性?我使用uid这是用户登录名。

我还尝试过概述here

(&(objectCategory=user)(memberOf=cn=Admin,ou=MYAPP,ou=Applirights,O=MYCOMPANY.COM))

没有任何作用,我的意思是我得到0结果但没有错误。如何通过给定的ldap组织实现这一目标?

2 个答案:

答案 0 :(得分:1)

群组有一个名为memberOf的内容: 所以试试这个:

search -s sub -b "DC=whatever,DC=mydomain,DC=com" "(&(objectCategory=user)(memberOf=CN=GROUP,DC=whatever,DC=mydomain,DC=com))"

您填写whatever mydomainGROUP以上^

答案 1 :(得分:0)

  

搜索控件需要哪些属性?

searchControls中列出的属性是您希望返回的属性。包含小组成员的那个。取决于组对象的objectClass,它可能是:

    {li> uniqueMember groupOfUniqueNames {li> roleOccupant organizationalRole

等等。