我收到例外javax.naming.NameNotFountException: [LDAP: error code 32 - No Such Object]; remaining name = 'DC=my-company, DC=group'
原因可能是DN 'DC=my-company, DC=group'
无效。但是,如果我将ldapAdServer
,ldapUsername
,ldapPassword
设置为无效值,也会发生此类异常。所以,我想我的LDAP连接没有正确设置。
如何测试LDAP连接是否成功创建?
答案 0 :(得分:0)
No Such Object
是当请求的对象不存在时由目录服务器返回的错误。使用正确的基础对象而不是dc=my-company,dc=com
。
如果您不知道基础对象,则可以通过查询root DSE来发现目录前缀(或命名上下文)。如果您不知道正确的基础对象,则可以使用前缀或命名上下文作为基础对象,直到您发现基础对象(应该比前缀或命名上下文更接近您的数据)。
更一般地说,如果您确定将通过LDAP访问您的目录服务器,则不应使用 JNDI 。如果您使用专业品质的LDAP SDK(如UnboundID中的那个),您将能够快速开发更容易被他人理解的工作实用代码并提高效率。标准版是免费的,附带源代码。
答案 1 :(得分:0)
但是如果我设置了ldapAdServer,那么也会发生这种异常, ldapUsername,ldapPassword为无效值。
不,不。你得到了一个不同的例外。