2015-12-01 85 views
0

我試圖獲取特定用戶組的所有用戶。我在java中這樣做,我可以連接到ldap並從不同的查詢中得到結果。不過,我已經尋找解決方案,但據我所知,我工作的公司的LDAP結構與正常情況不同。LDAP:獲取特定組中的用戶列表

用戶的DN:

ou=Users,O=MYCOMPANY.COM 

用戶組的DN:

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

對於用戶組,CN是特權級別/組名(管理員)和應用程序的名稱在一個組織單位。有了這個結構,我將如何查詢這個特定組中的所有用戶?

我想:

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組織實現這一目標?

回答

0

搜索控件需要哪些屬性?

searchControls列出的屬性是你想要返回的人。包含組成員的那個。根據objectClass羣對象是什麼,它可能是:

  • uniqueMembergroupOfUniqueNames
  • roleOccupantorganizationalRole

等等。

0

組有一些所謂memberOf: 那麼試試這個:

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

whatevermydomainGROUP填補上述^