【问题标题】:LDAP Connection with PHP IssueLDAP 连接与 PHP 问题
【发布时间】:2018-07-26 18:03:03
【问题描述】:

我目前正在尝试连接到我们的 Active Directory 以执行一些奇特的搜索魔法。我有用 python 编写的所有花哨的搜索,现在我们只是试图将它移植到 PHP。我在连接到 ldap 服务器时遇到问题。我没有收到任何错误消息,我的信息回声没有显示,我的页脚也没有。任何帮助,将不胜感激!谢谢!

代码如下:

<?php
    include "src/header.php";
    echo "Well Hello-01<br>";

    if(isset($_POST['username'])){
        $User = 'AD\\' . $_POST['username'];
    }
    if(isset($_POST['password'])){
        $Pass = $_POST['password'];
    }



    echo "Username: " . $User . "<br>";
    echo "Password: " . $Pass . "<br>";

    $ldapconn = ldap_connect("ldap://ad.whatever.com")
         or die("Could not connect to LDAP server");

    if($ldapconn){  
        echo "Attempting Bind";
        //binding to ldap 
        $ldapbind = ldap_bind($ldapconn, $User, $Pass);

        //Verify Bind
        if($ldapbind){
            echo "LDAP bind successfull...";
        }else{
            echo "LDAP bind failed...";
        }
    }else{
        echo "Fail";
    }

    include "src/footer.php";
?>

</body>`

无论这里的价值是什么,都会输出到屏幕上:Screenshot

【问题讨论】:

  • 我认为你这里有一个错字: echo "Password:" 。 $usersPass 。 "
    ";在这里: $ldapbind = ldap_bind($ldapconn, $User, $Pass);一行你说 $usersPass 然后你说 $Pass
  • 是的,抱歉,我刚刚更改了名称以使其更有意义。问题仍然存在。我会在上面进行更正。

标签: php ldap ldap-query


【解决方案1】:

这段代码是我不久前写的,也许对你有帮助:

<?php
    $username = $_POST['USERNAME'];
    $password = $_POST['USERPASS'];
    $server = 'AD_SERVER_IP_GOES_HERE';
    $domain = '@MY_DOMAIN.COM'; 
    $port = 389; //default connection port
    $dn = "DC=MY_DOMAIN,DC=COM";
    $filter = "(&(samaccountname=".$username."))";
    $params = array("sn","givenName","samAccountName",
                     "mail","displayName","department",
                     "title","company","streetAddress",
                     "department","memberOf");

    /*these are parameters you want to retrieve from a given user*/


    $connection = ldap_connect($server, $port);
        if (!$connection) {
        echo 'no_server';

    }


    $bind = @ldap_bind($connection, $username.$domain, $password);
    if (!$bind) {
        echo 'user_error';
    }
    else
    {
        $query_user = ldap_get_entries($connection,ldap_search($connection,$dn,$filter,$params));

        print_r($query_user);
    }

    // Close conection

    ldap_close($connection);

}

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多