我试图获取特定用户组的所有用户。我在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组织实现这一目标?
答案 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
mydomain
和GROUP
以上^
答案 1 :(得分:0)
搜索控件需要哪些属性?
searchControls
中列出的属性是您希望返回的属性。包含小组成员的那个。取决于组对象的objectClass
,它可能是:
uniqueMember
groupOfUniqueNames
{li> roleOccupant
organizationalRole
等等。