我将 Nexus 存储库管理器 (nexus.sonatype.org) 与开源 LDAP 插件 (code.google.com/p/nexus-ldap/) 一起使用,并且收到一条错误消息,指示使用了错误的协议版本(详细信息如下) 。该插件所做的只是使用 JNDI LDAP 服务提供程序连接到我的 LDAP 服务器。如果您查看 nexus.log 文件中的堆栈跟踪,就会发现 JNDI LDAP 实现中的上下文初始化期间发生了异常。所以我的猜测是,下面描述的问题不是由 Nexus 插件引起的,而是由 JNDI 的误用或对 LDAP 身份验证的误解引起的。
非常感谢任何有关此错误是如何引起的猜测或想法!
哪些步骤将重现该问题?
什么是预期的输出?你看到了什么呢?
尝试登录时,我收到错误消息“用户名、密码不正确或无权使用 Nexus 用户界面。请重试。”。在 Nexus 日志文件中,我看到当 Sun 的 JNDI-LDAP 实现(请参阅从下面的日志文件中获取的堆栈跟踪)尝试使用给定信息初始化上下文以便针对 LDAP 服务器对用户进行身份验证时抛出异常。使用 Nexus UI 进行的用户查找以及身份验证期间执行的查找都可以正常工作(请参阅下面的日志文件)。
CommunicationException 中包含的错误消息(“[LDAP:错误代码 2 - 版本不受支持]”)指示使用了错误的 LDAP 协议版本。我尝试明确使用协议版本 2,因为 OpenLDAP 版本 1.2.7-30 …