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 » 19/08/2009 5:52 pm

คือผมจะ 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,"administrator@crhdomain.local", "xxxx");

// prepare data
$info["cn"] = "John Jones";
$info["sn"] = "Jones";
$info["mail"] = "jonj@crhdomain.local";
$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 ประมาณนี้ครับ
แนบไฟล์
AD.JPG
Active Directory
AD.JPG (54.19 KiB) เปิดดู 1481 ครั้ง

ภาพประจำตัวสมาชิก
ob1
PHP Hero Member
PHP Hero Member
โพสต์: 185
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ติดต่อ:

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

โพสต์โดย ob1 » 19/08/2009 6:42 pm

ผมก็ไม่เคยใช้นะครับแต่มันฟ้อง
Invalid DN syntax ไม่ถูกต้อง
ลองสร้างจากเครื่องมือนั้นว่ามันใช้ syntax อะไรแล้วลอง copy มาใช้ กับ php

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

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

โพสต์โดย chuap006 » 19/08/2009 7:13 pm

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

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

เมื่อเทียบกันแล้วก็น่าจะตรง แต่มันก็ยัง Add ไม่ได้
รบกวนใครพอจะทราบช่วยแนะนำด้วยครับ ผมลองมาหลายวันแล้วแต่ไม่ได้ชะที

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

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

โพสต์โดย mindphp » 19/08/2009 7:19 pm

ก่อน 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
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

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

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

โพสต์โดย chuap006 » 19/08/2009 8:08 pm

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

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


    if 
($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }
 


ผมลองเพิ่มเข้าไปแล้วครับ ตามนี้

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

$ldapbind = ldap_bind($ds,"administrator@crhdomain.local", "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
โพสต์: 18235
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์โดย mindphp » 20/08/2009 1:01 am

ผมก็ไม่ค่อยได้ใช้ 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
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

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

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

โพสต์โดย chuap006 » 20/08/2009 9:14 am

ขอบคุณครับ..ผมลองทั้ง 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"] = "jonj@crhdomain.local";
    $info["objectclass"][0] = "top";
   $info["objectclass"][1] = "person";
   //$info["objectclass"][2] = "organizationalPerson";
   //$info["objectclass"][3] = "user";
    // add data to directory
    $ldapbind = ldap_bind($ds,"administrator@crhdomain.local", "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"] = "jonj@crhdomain.local";
    // add data to directory
    $ldapbind = ldap_bind($ds,"administrator@crhdomain.local", "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 » 20/08/2009 1:00 pm

ใกล้ๆจะออกแล้วครับ ผิดแถวๆนั้นแหละผมว่านะ :-D


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 13 และ บุคคลทั่วไป 0 ท่าน