【发布时间】:2020-03-20 08:12:19
【问题描述】:
我正在使用 Unboundid LDAP SDK for java 连接到 AD 并在 AD 上执行操作。
我在组下嵌套了组的分配。
喜欢例如:
Group-1 有成员 Group-2。
Group-2 有成员 Group-3。
现在Group-3 可能有成员Group-1。由于循环引用,这将导致无限循环。
另外,我在 AD 中为嵌套成员提供了 n 深度级别,因此我不确定如何在将组成员设为另一个组时检测循环引用。
为了找到解决方案,我在google上做了一些研究,结果遇到了这个问题:
clientLoop (96) clientLoop结果码表示客户端 在处理来自 服务器。它通常适用于客户试图遵循 推荐(或搜索结果引用)并遇到推荐 URL 它已经尝试跟随。
Loop_DETECT (54) 结果代码 (54) 将在服务器检测到链接或别名循环时使用。
参考:https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/ResultCode.html#LOOP_DETECT
所以这意味着它是可能的,并且在 Unboundid ldap sdk 中有一种方法可以检测循环引用。但是我还没有找到示例代码或解决方案。
如何使用 Unboundid LDAP SDK for java 在这种情况下检测和防止循环引用?
注意:这不是现有相关问题的重复,因为我只在 Unboundid ldap sdk 的上下文中寻求答案/解决方案。不在某些 powershell 脚本中。其他与Unboundid ldap sdk相关的类似问题尚无答案。
【问题讨论】:
-
怎么样?如果我搜索
Group 1并获取它的所有成员,我会得到Group-2。在其中我需要找到Group-2成员,我会得到Group-3。现在再次Group-3将拥有成员Group-1。再次循环在这 3 组之间继续。这不可能吗? -
具体与UnboundID SDK没有任何关系。这只是一个算法问题。
-
我给出的参考链接以及我在问题“Loop_DETECT”中提到的特定于 Unboundid sdk 的东西。如果这个枚举是由 Unboundid 提供的,那么 unboundid sdk 必须通过某种方式或某种方法来了解循环引用的事情。
标签: java unboundid-ldap-sdk unboundid