我们最近在公司开始采用 Scrum,我们想开始使用 Kunagi 来测试并了解其工作原理。
因此,我kunagi_0.23.2.deb
在使用 openjdk-6-jre 在 tomcat6 中运行的 Ubuntu 11.04 上安装了从他们的网站下载的软件包。
一切正常,只是我无法让 LDAP 工作。我有一个 AD 服务器和一个 LDAP 可供测试。对于 LDAP,我使用以下信息:
- uri: ldap://192.168.1.11:389
- 用户:some_tested_user
- 密码: the_pass
- DN:dc=colosa,dc=net
- LDAP 过滤器: (&(objectClass=user))
我测试了各种 LDAP 过滤器,但不知道我选的是否正确。但是,单击“测试 LDAP”时出现错误。错误涉及 DN:
Server service call error
Calling service TestLdap failed.
java.lang.RuntimeException: InvalidNameException: [LDAP: error code 34 - invalid DN]
使用 AD 服务器时,我在测试时没有收到任何错误,但我无法登录,每次都收到“登录失败”的消息。我不知道这是否是因为我输入的 LDAP 筛选器,但我无法让它工作。
我读过了这一页说明我需要在 Kunagi 中创建我的帐户才能登录。所以我这样做了,但没有效果。
所以基本上我的问题是,是什么导致了这个 DN 字符串错误(我确信我的是正确的),以及我应该使用什么 LDAP 过滤器?
答案1
错误代码 34表示 LDAP 客户端连接的服务器已确定专有名称的语法不正确。从问题来看,dc=colosa,dc=net
专有名称的语法似乎正确。检查配置是否具有该值(可能是拼写错误?)。
此外,如果user
列出的是可分辨名称(它可能用于基本级别的搜索,并且应用程序认为用户字段中的可分辨名称暗示基本级别的搜索),请验证这是一个有效的可分辨名称。
使用ldapsearch
命令行工具验证配置使用的参数是否正确。有关 的更多信息ldapsearch
,请参阅LDAP:使用 ldapsearch。 例如:
ldapsearch -xLLL -H ldap://192.168.1.11:389 \
-D user -w password -b dc=colosa,dc=net -s sub \
'(objectClass=user)' 1.1
列出的过滤器是有效的过滤器,尽管(objectClass=user)
可以使用更简单的过滤器。