LDAP服务器是我的基础dn

时间:2013-06-08 12:40:00

标签: authentication ldap openca

您好我正在尝试使用我的ldap测试服务器来验证openca中的用户。

我目前通过phpldapadmin与:

连接
  

登录DN:cn = admin,dc = example,dc = com
  密码:mypass

但在openca上出现问题...在datasources.xml中我找到了ldap配置的设置并要求

<name>basedn</name>

这是我的基础吗?我已经尝试了

cn=admin,dc=example,dc=com

dc=example,dc=com

我也可以使用LDAP Admin explorer连接到我的ldap。

谢谢!

2 个答案:

答案 0 :(得分:21)

基数dn为dc=example,dc=com

我不知道openca,但我会尝试这个答案,因为到目前为止你的流量很少。

base dn是服务器搜索用户的点。所以我会尝试简单地使用admin作为登录名。

如果openca的行为与大多数ldap感知应用程序一样,那么就会发生这种情况:

  1. 用户admin的ldap搜索将由服务器从基础dn(dc=example,dc=com)开始。
  2. 找到用户后,将使用完整的dn(cn=admin,dc=example,dc=com)与提供的密码绑定。
  3. ldap服务器将散列密码并与存储的散列值进行比较。如果匹配,你就在。
  4. 让步骤1正确是最困难的部分,但主要是因为我们不经常这样做。您需要在configuraiton文件中注意的事项是:

    • 您的应用程序将dn用于绑定到ldap服务器。这在应用程序启动时发生,在任何用户进行身份验证之前。你必须提供一个完整的dn,可能是cn=admin,dc=example,dc=com
    • 身份验证方法。它通常是一个“简单的绑定”。
    • 用户搜索过滤器。查看objectClass用户名为admin的属性。它将是inetOrgPersonuser。还有其他像top,你可以忽略它们。在openca配置中,应该有一个类似(objectClass=inetOrgPerson)的字符串。无论是什么,请确保它与您的管理员用户的对象类匹配。您可以使用此搜索过滤器(|(objectClass=inetOrgPerson)(objectClass=user))指定两个对象类。

    下载LDAP浏览器,例如Apache's Directory Studio。使用您的应用程序凭据进行连接,这样您就可以看到应用程序看到的内容。

答案 1 :(得分:0)

要么设置LDAP_DOMAIN变量,要么配置错误。跳转到ldap机器/容器内部并运行:

slapcat > backup.ldif

如果失败,则在分配变量“ LDAP_DOMAIN”时检查标点符号,引号等 否则,您将在backup.ldif文件中找到答案。