27

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

我目前正在通过 phpldapadmin 连接:

登录 DN:cn=a​​dmin,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。

谢谢 !

4

2 回答 2

37

基础 dn 为dc=example,dc=com.

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

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

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

  1. admin服务器将从基础 dn ( dc=example,dc=com)开始对用户进行 ldap 搜索。
  2. 找到用户后,将cn=admin,dc=example,dc=com使用完整的 dn ( ) 与提供的密码绑定。
  3. ldap 服务器将对密码进行哈希处理并与存储的哈希值进行比较。如果匹配,你就进去了。

正确完成第一步是最难的部分,但主要是因为我们不经常这样做。您必须在配置文件中注意以下事项:

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

下载 LDAP 浏览器,例如Apache 的 Directory Studio。使用您的应用程序的凭据进行连接,因此您将看到您的应用程序看到的内容。

于 2013-06-10T03:33:32.017 回答
0

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

slapcat > backup.ldif

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

于 2020-03-24T08:35:36.310 回答