[英]LDAP: Get list of users in a specific group
我正在尝试获取特定用户组的所有用户。 我在 java 中这样做,我可以连接到 ldap 并从不同的查询中获取结果。 但是,我已经寻找解决方案,但据我所知,我工作场所的 LDAP 结构与正常情况不同。
用户 dn:
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
这是用户登录名。
我也试过这里概述的内容:
(&(objectCategory=user)(memberOf=cn=Admin,ou=MYAPP,ou=Applirights,O=MYCOMPANY.COM))
没有任何效果,我的意思是我得到 0 结果但没有错误。 如何使用给定的 ldap 组织实现这一目标?
组有一个叫做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
^
搜索控件中需要哪些属性?
searchControls
中列出的属性是您想要返回的属性。 包含组成员的那个。 根据组对象是什么objectClass
,它可能是:
groupOfUniqueNames
uniqueMember
roleOccupant
用于organizationalRole
roleOccupant
等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.