【问题标题】:LDAP server which is my base dnLDAP 服务器,这是我的基础 dn
【发布时间】:2013-06-08 12:40:00
【问题描述】:

您好,我正在尝试使用我的 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。

谢谢!

【问题讨论】:

    标签: authentication ldap openca


    【解决方案1】:

    基础 dn 是 dc=example,dc=com

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

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

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

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

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

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

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

    【讨论】:

    • 我正在使用与 OP 类似的教程使用其他一些工具来设置 LDAP。我发现我的管理员帐户的 dn 是“cn=admin,cn=users,dc=example,dc=com”。因此,您可能必须将基本名称设置为“cn=users,dc=example,dc=com”
    【解决方案2】:

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

    slapcat > backup.ldif
    

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

    【讨论】:

      猜你喜欢
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多