【问题标题】:How to get the Organization and OU of a user in LDAP如何在 LDAP 中获取用户的组织和 OU
【发布时间】:2019-09-05 06:32:11
【问题描述】:

我正在尝试在 LDAP 中查询用户所属的组。 这是我的目录结构。

我需要实现的是获取用户所属的组。 所以在这里,我希望得到第二组,因为用户“Ola Torres”是该组的成员。

用户:uid:ola.torres

我尝试了很多查询,但没有任何效果。

DC-MY_DC
|
O - Department One (Department)
  |- ou:groups
    | cn:Group One
    | cn: Group Two (Group)
       |member: Ola Torres
  |- ou:people
    |-cn: Ola Torres
O - Department Two
  | - ou: groups
     |-cn: Group Three
     |-cn: Group Four

这些是我在 java 中的查询:

            SearchControls searchControl = new SearchControls();
            String[] attrs = { "cn" };
            searchControl.setReturningAttributes(attrs);
            searchControl.setSearchScope(SearchControls.SUBTREE_SCOPE);
            String criteria = "(&(objectClass=organizationalUnit)(ou:dn:=groups)(member=cn=ola.torres))";

我收到的是空列表。请帮忙。 :(

【问题讨论】:

  • member 属性通常包含一个完整的 DN。
  • @user207421 谢谢。我得到了查询的不正确部分。我已将其更改为 "(&(objectClass=organizationalUnit)(ou:dn:=groups)(member=cn=ola.torres, o=MY_DC,ou=people,dc=com, dc=company))";我得到了预期的结果。 :)
  • 请将您的评论添加到答案中并将其自我标记为答案,以便将其标记给具有相同或类似问题的其他人。

标签: java ldap ldap-query phpldapadmin


【解决方案1】:

对于遇到与我相同的问题的人,它需要完整的成员 DN。 我将搜索条件更改为:

(&(objectClass=organizationalUnit)(ou:dn:=groups)(member=cn=ola.torres, o=MY_DC,ou=people,dc=com, dc=company))

效果很好! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多