【问题标题】:LDAP query memberOf group with users from root domainLDAP 查询 memberOf 组,其中包含来自根域的用户
【发布时间】:2018-04-28 14:55:55
【问题描述】:

所以我有一个:

  • (根)域lab.local 与用户test1@lab.local
  • 子域inner.lab.local 与组testers (CN=testers,OU=Groups,OU=Domain Resources,DC=inner,DC=lab,DC=local)。
  • 在该子域中,我创建了一个用户 test2@inner.lab.local
  • 我已将test1@lab.localtest2@inner.lab.local 添加到testers
  • 在子域中,我创建了一个查询(&(objectCategory=user)(memberOf=CN=testers,OU=Groups,OU=Domain Resources,DC=inner,DC=lab,DC=local))

以上查询仅返回test2@inner.lab.local(不从根域中获取成员:test1@lab.local)。

我知道原因是它不是全局目录(它被标记为universal)因此(...) membership in groups from other domains will not be listed (...)

有什么解决办法吗?有什么办法可以同时得到它们吗?

已编辑(更具体地说):

在根域mylab.local (192.168.1.168) 中,我们可以看到用户JohnuserPrincipalname 设置为john@mylab.local

在这里我们可以看到一个子域inner.mylab.local(192.168.1.169)。在这里,我们在OU 中有一个名为Groups 的组testers。如您所见,在该域中,我们定义了一个用户mike。用户mike(来自inner.mylab.local)和john(来自mylab.local)都是testers组的成员:

我的目标是根据组名获取两个用户。感谢Marcin先生的回答,我知道我必须Query the global catalog in the child domain。但是,当连接到端口3268 上的子域时:

和查询的用户,我只从子域中得到了一个:

当我得到整个组时,像这样:

我可以看到两者。但我需要每个用户userPrincipalName 属性。因此,即使我进行第二次查询以获取来自不同域的每个用户的信息,我也无法获取有关用户的信息:

那么我做错了什么,在子域中查询全局目录时无法获取用户john(来自不同的域)?

编辑: 我正在使用javaLdapTemplate

【问题讨论】:

  • 两件事:1.你确定你的第四张截图真的查询了全局目录吗?那应该行得通。
  • 2.最好阅读组的member 属性,而不是尝试查询用户的memberOf。如果您告诉我们您使用的是哪种编程语言,我们可以提供更好的帮助。
  • "你确定你的第四张截图确实查询了全局目录吗?"第三张截图。我正在端口3268 上连接到服务器(通过LDAPAdmin),所以它应该是GC,对吗? (或者不,也许我错了,这就是我在这里的原因:))
  • 我看到了,但我想知道它是否确实使用 GC 端口进行该查询。它应该可以工作。
  • “2. 阅读会员属性总是更好”。是的,我确实改变了这一点,但我无法从SID 获取account name。这是你刚才回答的我的第二个问题。我鞠躬,谢谢。

标签: active-directory ldap ldap-query


【解决方案1】:

我不明白你的问题,但如果你安装 JXplorer 的帮助足以看到结构并找出是否有什么不合适的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    相关资源
    最近更新 更多