【问题标题】:Apache Directory studio ldap bind from php来自 php 的 Apache Directory Studio ldap 绑定
【发布时间】:2013-06-27 13:18:22
【问题描述】:

我是 Apache Directory Studio 和 ldap 的新手。我正在从 Apache Directory Studio 运行 ldap 服务器。我在 ldap 中有一个用户,我正在尝试从 php 脚本绑定到 uid。不确定我哪里出错了。

我使用的用户名是"uid=admin,ou=user" 密码为"secret"

我也试过用户名"uid=arone_a,ou=users,dc=example,dc=com" 密码为"password"

密码属性是手动设置的,arone_a 是用户 uid。

我正在尝试编写一个 php 脚本,它可以拉取 ldap 服务器中的所有用户。

提前致谢。

我的 PHP 脚本是:

$ldaphost = "localhost"; 

$ldapport = 10389;                

$ldaprdn='uid=admin,ou=system';

$ldappass='secret';

$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Could not connect to $ldaphost");

if($ldapconn)
{

       $ldapbind=ldap_bind($ldapconn,$ldaprdn,$ldappass);


       if($ldapbind)
       {

                echo "success";
       }
       else
       {

                echo "not success";
       }
}

连接通过但绑定没有通过。

【问题讨论】:

  • 我也有同样的问题

标签: apache ldap


【解决方案1】:

我遇到了类似的问题,问题是我在userPassword 属性中添加了一个指定语言的附加参数,导致userPassword;lang-ca-ES(向导显示了一个添加它的表单)。

这导致使用 Apache Directory Studio 的“验证”工作正常,但在“绑定”检查中失败(您可以在密码编辑器中同时执行这两项操作,双击 userPassword 属性。

我终于离开userPassword,没有附加属性,它完美绑定:)

【讨论】:

  • 在 php 代码中一定要考虑到 Terry 指出的内容,使用正确且完整的 DN。
【解决方案2】:

只需添加 ldap set 选项,它对我有用

<?php 

$ldaphost = "localhost"; 

$ldapport = 10389;                

$ldaprdn='uid=admin,ou=system';

$ldappass='secret';

$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Could not connect to $ldaphost");

if($ldapconn) {
    ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);

       $ldapbind=ldap_bind($ldapconn,$ldaprdn,$ldappass);

       if($ldapbind) {
                echo "success";
                
       } else {
                echo "not success";

       }
}

?>

【讨论】:

    【解决方案3】:

    简单的 BIND 请求需要 DN,而不是 RDN。您的 BIND DN 是否应该类似于 uid=admin,ou=system,dc=example,dc=com

    另见

    【讨论】:

    • 我尝试将用户名设置为 'uid=admin,ou=system,dc=example,dc=com' 和密码 'secret'。我仍然无法绑定。在 Apache Directory Studio 中,我可以检查连接属性并能够绑定用户名和密码。但是当我尝试从 PHP 脚本中做同样的事情时,我做不到。我必须更改任何设置吗?我正在通过 MAMP 运行 PHP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多