Ldap 如何解决javax.naming.PartialResultException?
我们在日志中看到此警告消息Ldap 如何解决javax.naming.PartialResultException?,ldap,Ldap,我们在日志中看到此警告消息 javax.naming.PartialResultException:未处理的继续引用;剩余名称“dc=global,dc=com” 每当用户登录到我们的应用程序时,它就会出现 根据,可以通过设置上下文来解决此问题。将引用到follow。但它将搜索时间从1秒增加到4秒 事实上,你可以参考,它说使用follow会减慢搜索速度 所以我的问题是,在不影响性能的情况下,从日志中消除此异常的最佳方法是什么。当您的搜索返回转介并设置为忽略转介时,您将看到此异常 [推荐:当您在广
javax.naming.PartialResultException:未处理的继续引用;剩余名称“dc=global,dc=com”
每当用户登录到我们的应用程序时,它就会出现
根据,可以通过设置上下文来解决此问题。将
引用到follow
。但它将搜索时间从1秒增加到4秒
事实上,你可以参考,它说使用follow
会减慢搜索速度
所以我的问题是,在不影响性能的情况下,从日志中消除此异常的最佳方法是什么。当您的搜索返回转介并设置为忽略转介时,您将看到此异常 [推荐:当您在广告中搜索时,如果广告认为其他地方有更多可用信息,它会返回推荐[查找更多信息的地方]以及您的搜索结果。] 您可以通过将
上下文设置为follow
来避免此异常。然后它也会在推荐中搜索[这就是为什么返回结果需要更多时间的原因]
但在我的情况下,转介是无效的,并返回了另一个例外
我通过将baseDN(搜索库)更改为更具体的方式解决了这个问题。例如,ou=users,dc=mydomain,dc=com
。现在我没有看到这个异常,因为它不会返回任何引用。另一个可能有效的解决方案是更改端口号(假设这是一个GC服务器):
如果您使用的是389端口,请将其更改为3268
如果您使用的是636端口,请将其更改为3269
这可能有效,因为(我引述):
GC(全局编录)服务器返回389上的引用以引用
更大的广告“森林”,但其作用类似于3268上的常规LDAP服务器(和
(LDAP为3269)
这对我有用
我在Shibboleth用户列表中找到了这个解决方案,Paul Caskey回答了这个问题(这都归功于他)
您可以查看此链接上的对话:
设置引用时,您需要能够解析域根地址。(例如:mydomain.com)改为3268/9端口效果很好。不幸的是,搜索和查找似乎只返回部分属性集。例如,employeeID属性永远不会返回,即使在显式查询时也是如此。全局编录没有得到所有属性(仅包含子集)。所以这不是一个适合所有人的解决方案。我正在尝试通过我的程序登录LDAP,我的观察结果是-选中AD中的“密码永不过期”和“用户无法更改密码”复选框。然后这个错误消失了。