首页 > 解决方案 > LDAP 连接与 PHP 问题

问题描述

我目前正在尝试连接到我们的 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>`

不管它的价值是什么,输出到屏幕上的都是:截图

标签: phpldapldap-query

解决方案


我不久前编写了这段代码,也许它可以帮助你:

<?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);

}

?>


推荐阅读