본문 바로가기

IT-Consultant

PHP에서 Windows 2003 Active Directory Service 연동(LDAP이용)

1. Windows 2003 Server에 AD 구축 : 상세 내용은 생략합니다.
   - DNS 서버의 도메인 : dc.gigapodv3.com

2. 리눅스에 ldap_client 설치

3. php 컴파일시 리눅스 --with-ldap=[DIR] 옵션을 사용하여 컴파일

4. 실제 코드

<?

$ldaprdn  = 'test@dc.gigapodv3.com';   
$ldappass = 'test!1234';  // associated password

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

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...<br>";
    } else {
        echo "LDAP bind failed...<br>";
    }
   //(&(sAMAccountName={0})(objectclass=user))
 
    $result = ldap_search($ldapconn, "DC=dc, DC=gigapodv3,DC=com", "(samaccountname=test)");
    if ($result === FALSE) {
        var_dump($result);
        echo "fail<br>";
    } else {
        var_dump($result);
        echo "ok<br>";
    }



    $data = ldap_get_entries($ldapconn, $result);

    for ($i=0; $i<=$data["count"];$i++) {
            for ($j=0;$j<=$data[$i]["count"];$j++){
            echo $data[$i][$j].": ".$data[$i][$data[$i][$j]][0]."<br>";
            }
    }
}


?>