ldap_add() Error ช่วยด้วยครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

chuap006
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/08/2009 5:47 pm

ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย chuap006 »

คือผมจะ Adduser ใน AD แต่มัน error ตรงการกำหนด DN ตามนี้ครับ
Warning: ldap_add() [function.ldap-add]: Add: Invalid DN syntax in C:\AppServ\www\AD2\add2.php on line 15

**ผมต้องกำหนด DN ยังไงครับ...

<?php
$ds = ldap_connect("172.16.1.10"); // assuming the LDAP server is on this host
if ($ds) {
// bind with appropriate dn to give update access
$r = ldap_bind($ds,"[email protected]", "xxxx");

// prepare data
$info["cn"] = "John Jones";
$info["sn"] = "Jones";
$info["mail"] = "[email protected]";
$info["objectclass"] = "person";

// add data to directory
$r = ldap_add($ds, "CN=test001, ou=CRHuser, DC=crhdomain, DC=local", $info);

ldap_close($ds);
} else {
echo "Unable to connect to LDAP server";
}
?>

ส่วน Active Directory ประมาณนี้ครับ
แนบไฟล์
Active Directory
Active Directory
AD.JPG (54.19 KiB) Viewed 1999 times
ภาพประจำตัวสมาชิก
ob1
PHP Hero Member
PHP Hero Member
โพสต์: 185
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ติดต่อ:

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย ob1 »

ผมก็ไม่เคยใช้นะครับแต่มันฟ้อง
Invalid DN syntax ไม่ถูกต้อง
ลองสร้างจากเครื่องมือนั้นว่ามันใช้ syntax อะไรแล้วลอง copy มาใช้ กับ php
chuap006
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/08/2009 5:47 pm

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย chuap006 »

ผมลอง get_entries User อื่นมาดูแล้วก็จะได้ DN ตามนี้ครับ

dn is: CN=chuap,OU=CRHuser,DC=crhdomain,DC=local

เมื่อเทียบกันแล้วก็น่าจะตรง แต่มันก็ยัง Add ไม่ได้
รบกวนใครพอจะทราบช่วยแนะนำด้วยครับ ผมลองมาหลายวันแล้วแต่ไม่ได้ชะที
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ก่อน add ลองเพิ่ม

โค้ด: เลือกทั้งหมด

    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }
 
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
chuap006
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/08/2009 5:47 pm

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย chuap006 »

mindphp เขียน:ก่อน add ลองเพิ่ม

โค้ด: เลือกทั้งหมด

    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }
 
ผมลองเพิ่มเข้าไปแล้วครับ ตามนี้

โค้ด: เลือกทั้งหมด

$ldapbind = ldap_bind($ds,"[email protected]", "xxxx");	
if ($ldapbind) 
{
      echo "LDAP bind successful...";      
} else {
        echo "LDAP bind failed...";
}
$r = ldap_add($ds, "CN=Jones,OU=CRHuser,DC=crhdomain,DC=local", $info);
และผลที่ได้คือ
LDAP bind successful...
Warning: ldap_add() [function.ldap-add]: Add: Invalid DN syntax in C:\AppServ\www\AD2\add2.php
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ผมก็ไม่ค่อยได้ใช้ LDAP นะครับแต่คิดว่าถ้าตรงนั้นผ่าน
น่าจะมีปัญหา เกี่ยวกับ $info
ลอง เปลี่ยน

โค้ด: เลือกทั้งหมด

$info["objectclass"] = "person";
 
เป็น

โค้ด: เลือกทั้งหมด

$info["objectclass"] = array("person");
หรือ 
$info["objectclass"][1] ="person";
 
หรือลอง $info["objectclass"] ออกไปก่อน ลองดูครับ วิธีไหนได้ บอกด้วยนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
chuap006
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/08/2009 5:47 pm

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย chuap006 »

ขอบคุณครับ..ผมลองทั้ง 2 แบบแล้วแต่มันยังไม่ได้ แต่กรณีที่ 2 error มันเปลี่ยนไปครับ และผลที่ได้เป็นแบบนี้ครับ
1.

โค้ด: เลือกทั้งหมด

<?php
$ds = ldap_connect("172.16.1.10");  // assuming the LDAP server is on this host
if ($ds) {
    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "[email protected]";
    $info["objectclass"][0] = "top";
	$info["objectclass"][1] = "person";
	//$info["objectclass"][2] = "organizationalPerson";
	//$info["objectclass"][3] = "user";
    // add data to directory
    $ldapbind = ldap_bind($ds,"[email protected]", "xxxx");	
	if ($ldapbind) {
        echo "LDAP bind successful...";
		$ad = ldap_add($ds, "CN=Jones, ou=CRHuser, DC=crhdomain, DC=local", $info);
    } else {
        echo "LDAP bind failed...";
    }
    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?> 
ผลลัพธ์
LDAP bind successful...
Warning: ldap_add() [function.ldap-add]: Add: Invalid DN syntax in C:\AppServ\www\AD2\add2.php on line 16
และวีธีที่ 2 ตัด objectclass ออกไป

โค้ด: เลือกทั้งหมด

<?php
$ds = ldap_connect("172.16.1.10");  // assuming the LDAP server is on this host
if ($ds) {
    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "[email protected]";
    // add data to directory
    $ldapbind = ldap_bind($ds,"[email protected]", "xxxx");	
	if ($ldapbind) {
        echo "LDAP bind successful...";
		$ad = ldap_add($ds, "CN=Jones, ou=CRHuser, DC=crhdomain, DC=local", $info);
    } else {
        echo "LDAP bind failed...";
    }
    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?> 
ผลลัพธ์
LDAP bind successful...
Warning: ldap_add() [function.ldap-add]: Add: Object class violation in C:\AppServ\www\AD2\add2.php on line 16
ภาพประจำตัวสมาชิก
ob1
PHP Hero Member
PHP Hero Member
โพสต์: 185
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ติดต่อ:

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย ob1 »

ใกล้ๆจะออกแล้วครับ ผิดแถวๆนั้นแหละผมว่านะ :-D
chuap006
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/08/2009 5:47 pm

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย chuap006 »

ขอบคุณครับ ตอนนี้ผม Add ได้แล้ว

โค้ด: เลือกทั้งหมด

$adduserAD["cn"][0] = "php";
$adduserAD["sn"][0] = "Bisdorff";
$adduserAD["samaccountname"][0] = "php";
$adduserAD["objectclass"][0] = "top";
$adduserAD["objectclass"][1] = "person";
$adduserAD["objectclass"][2] = "organizationalPerson";
$adduserAD["objectclass"][3] = "user";
$adduserAD["displayname"][0] = "jemp miller";
$adduserAD["name"][0] = "php";
$adduserAD["givenname"][0] = "php";
$adduserAD["company"][0] ="vdl";
$adduserAD["description"][0] = "my description";
$adduserAD["mail"][0] = "[email protected]";
$adduserAD["samaccountname"][0] = "php";
$adduserAD["userprincipalname"][0] ="[email protected]";
$adduserAD["userAccountControl"][0]="66048"; 
$adduserAD["userPassword"][0] = $newPassw;	
    // add data to directory
    $ldapbind = ldap_bind($ds,"[email protected]", "xxxx");	
	if ($ldapbind) {
        echo "LDAP bind successful...";
		$ad = ldap_add($ds, "CN=php, OU=CRHuser, DC=crhdomain, DC=local", $adduserAD);
    } else {
        echo "LDAP bind failed...";
    }
    ldap_close($ds);
แต่มันติดปัญหาใหม่ครับ...
ที่เครื่อง ADSERVER -- User ที่เพิ่มเข้าไปใหม่กลับมี X ติดอยู่ตามรูป

ไม่ทราบว่าต้องแก้ยังไงครับ.. เหมือนมันจถูก Disable ไว้ เราจะ Enable ใน php ยังไงครับ
แนบไฟล์
AD
AD
AD2.JPG (37.42 KiB) Viewed 1072 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ldap_add() Error ช่วยด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ข้อมูลบางส่วนที่ ใส่ไปอาจไม่ถ็ต้อง
ลอง เปลี่ยน

โค้ด: เลือกทั้งหมด

$adduserAD["mail"][0] = "[email protected]";
ให้เป็น email ที่มีณุปแบบที่ถูกดูครับ
เช่น

โค้ด: เลือกทั้งหมด

$adduserAD["mail"][0] = "[email protected]";
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 108