3

我们有一个用户,我们的公司门户无法从 AD 获取组。

在门户日志中,我们看到此错误:

javax.naming.PartialResultException:未处理的继续引用剩余名称''

我已经用谷歌搜索了似乎描述这种情况以及如何解决它的错误和最佳症状:http ://www-01.ibm.com/support/docview.wss?uid=swg21232921

假设我们不想仅仅因为一个用户而更改配置,而是要修改这个特定用户的数据,有人可以解释一下我在检查 AD 中的用户记录时如何识别这一点吗?这是否与他的小组作业有关,如果是,那么我应该寻找什么?

4

4 回答 4

7

我刚碰到这个。

我通过将 InitialDirContext 环境设置为将 Context.REFERRAL 键设置为“follow”来解决它。

根据 Javadocs,该键可以是“follow”、“ignore”或“throw”。默认值由您使用的提供程序确定,可能是“抛出”。

于 2013-03-01T17:58:15.537 回答
4

查看此链接以获取有关 API 告诉您的更多数据:http: //www.jspwiki.org/wiki/ActiveDirectoryIntegration

我不是该 API 的专家,但至少可以根据该文档和对 AD 正在做什么的了解来解释我认为正在发生的事情。:)

当您执行的搜索具有此本地服务器/搜索之外的命名上下文但在您的请求的逻辑范围内时,AD 会返回所谓的“引用”。这是每个 RFC 请求。将推荐视为向您提示应用程序可能存在更多数据...即,AD 服务器说“这是我为您提供的结果,但是,您应该知道,有人否则可能会有更多……去这里了解一下。” 推荐不是“错误”,它们是对应用程序的提示。

似乎您的 LDAP API 在遇到它们时会引发异常。根据我上面引用的文档,看起来您可以吞下它们或追逐推荐以找出是否有更多数据。

于 2012-08-31T22:47:43.603 回答
0

我发现的问题之一是 ldapContext 中的搜索查询字符串不正确。由于参数格式错误而形成的错误查询抛出:

javax.naming.PartialResultException: Unprocessed Continuation Reference(s) remaining name '' 

但是如果我们添加参数 Context.REFERRAL="follow",那么它不会抛出异常但也不会返回结果。

ldap 查询字符串的参数也应该与 LDAP 接受的参数匹配,否则它将引发相同的错误。

于 2015-02-27T09:05:47.440 回答
0

为环境属性添加这个

 env.put(Context.REFERRAL,"follow");
于 2021-02-24T06:29:01.697 回答