Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอตัวอย่างหรือวิธีการเขียน PHP จัดการข้อมูลใน AD(Active Directory) ใน Server ครับ



 

ขอตัวอย่างหรือวิธีการเขียน PHP จัดการข้อมูลใน AD(Active Directory) ใน Server ครับ

 



Topic : 130612



โพสกระทู้ ( 106 )
บทความ ( 0 )



สถานะออฟไลน์




หลักๆคืออยากจะเขียนเชื่อมต่อ AD เพิ่ม ลบ แก้ไข ครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-03-20 08:43:47 By : yutthanagorn View : 2657 Reply : 3
 

 

No. 1



โพสกระทู้ ( 3,843 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook

ค้นหาบ้างก็ได้นะครับ
PHP User Login Authentication Active Directory (AD)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-20 09:44:39 By : mongkon.k
 


 

No. 2



โพสกระทู้ ( 106 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้คิดว่า เชื่อมต่อได้แล้วด้วย Code
Code (PHP)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=tis-620">
<?php

// $username = $_POST['username'];
// $pass = $_POST['password'];

$username = "admin";
$pass = "admin";

if($username !=null and $pass !=null)
{
     $server = "10.10.10.10";
     $user = $username."@test.org";
 // connect to active directory
     $ad = ldap_connect($server);
if(!$ad)   {
            die("Connect not connect to ".$server);		  
				   echo "ไม่สามารถติดต่อ server ได้";
				   exit();
                  }    else    {
		$b = @ldap_bind($ad,$user,$pass);
			    if(!$b) {
						die("<br><br>
							<div align='center'>    ท่านกรอกรหัสผ่านผิดพลาด
							<br>
							</div>
							<meta http-equiv='refresh' content='3 ;url=index.php'>");
				       }   else   {

							//login ผ่านแล้วมาทำไรก็ว่าไป
							session_start();
                                                        echo "เชื่อมต่อได้แล้ว";

							}

						}

	     }

?>



ตอนนี้มันขึ้น "เชื่อมต่อได้แล้ว" แล้ว แต่ผมติดที่จะเข้าไปจัดการข้อมูล เช่นการเข้าไปเปลี่ยน Password หรือ แค่แสดงข้อมูล
ผมลองแก้ Code แบบข้างล่างดูแต่ก็ยังไม่ได้ครับ

Code (PHP)
  function ldap_login($ds,$username,$password,$ou,$suffix){
                $i=0;
                while(1){
                    $binddn = "uid=$username,ou=".$ou[$i].",".$suffix;
                    @$ldapbind = ldap_bind($ad, $binddn, $password);
                    if ($ldapbind){
                        return true;
                        break;
                    }else{
                        if($i==3){
                            ldap_close($ds);
                            return false;
                            break;
                        }
                    }
                    $i++;
                    }
                  }

                        $ou = array("student","staff","unistaff");
                        $suffix_string = "dc=psu,dc=pn";
                        $USER = "3114";
                        $PASSWORD = "sanji007";
                        if(ldap_login($ad,$USER,$PASSWORD,$ou,$suffix_string)){
                            echo "สวัสดีครับ";
                        }else{
                            echo "User หรือ Password ผิด";
                        }



โปรดช่วยแนะนำหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-22 16:23:43 By : yutthanagorn
 

 

No. 3



โพสกระทู้ ( 106 )
บทความ ( 0 )



สถานะออฟไลน์


จากที่ผมพยายาม ศึกษาดูแล้วนะครับ คือยังไม่เข้าใจ โดยผมใช้ จาก ตัวอย่างนี้ https://www.thaicreate.com/php/php-user-authentication-active-directory.html ซึ่งก็สามารถเชื่อมต่อได้ไปยัง Server ได้ แต่ยังไม่เข้าใจการที่จะดึงข้อมูลเอาโชว์ เพิ่ม หรือแก้ไข โดยเป้าหมายหลักๆคือ อยากแค่ เปลี่ยน Password ให้ได้

Code (PHP)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=tis-620">
<?php

// $username = $_POST['username'];
// $pass = $_POST['password'];

$username = "admin";
$pass = "admin";

if($username !=null and $pass !=null)
{
     $server = "10.10.10.10";
     $user = $username."@test.org";
 // connect to active directory
     $ad = ldap_connect($server);
if(!$ad)   {
            die("Connect not connect to ".$server);		  
				   echo "ไม่สามารถติดต่อ server ได้";
				   exit();
                  }    else    {
		$b = @ldap_bind($ad,$user,$pass);
			    if(!$b) {
						die("<br><br>
							<div align='center'>    ท่านกรอกรหัสผ่านผิดพลาด
							<br>
							</div>
							<meta http-equiv='refresh' content='3 ;url=index.php'>");
				       }   else   {

							//login ผ่านแล้วมาทำไรก็ว่าไป
							session_start();
                                                        echo "เชื่อมต่อได้แล้ว";

							}

						}

	     }

?>


ท่ั้งนี้ผมลองตาม Link https://www.thaicreate.com/community/ldap2.html ซึ่งก็มีข้อสงสัยหลายอย่างมากที่ไม่ใจ พยายามทำตามทีละ Step by step แล้วเช่น หัวข้อที่ 3 $ds=ldap_connect(?localhost?,?389?) ทำไมต้องมี ? แล้วพอใส่ไปก็ error ตรง ?
หรือตาม code
Code (PHP)
<?php
function ldap_login($ds,$username,$password,$ou,$suffix){
    $i=0;
    while(1){
        $binddn = "uid=$username,ou=".$ou[$i].",".$suffix;
        @$ldapbind = ldap_bind($ds, $binddn, $password);
        if ($ldapbind){
            return true;
            break;
        }else{
            if($i==3){
                ldap_close($ds);
                return false;
                break;
            }
        }
        $i++;
   }
}

$ds=ldap_connect("10.10.10.10");
$USER="administrator";
$PASSWORD="Password";
$ou = array("student","staff","unistaff");
$suffix_string = "dc=imlab,dc=org";
if(ldap_login($ds,$USER,$PASSWORD,$ou,$suffix_string)){
    echo "สวัสดีครับ";
}else{
    echo "User หรือ Password ผิด";
}
?>


ซึ่งผมไม่เข้าใจความหมายมันครับ เช่น
ตรง $binddn = "uid=$username,ou=".$ou[$i].",".$suffix; uid,ou คืออะไร
ตรง @$ldapbind = ldap_bind($ds, $binddn, $password); ทำไมต้องมี @ พอใส่ก้ error ไม่ใส่ก็ error แบบอื่น
ตรง $ou = array("student","staff","unistaff"); คือค่าอะไร
ตรง "dc=imlab,dc=org"; ผมเข้าใจถูกใช่ไหมว่าเป็น Domain

แล้วพอไปอ่านตัวอย่างต่อไป ก็ยิ่ง งง ค่าเข้าไปอีกใครพอจะมี Code ตัวอย่างที่เข้าใจง่ายหรืออธิบายดีๆหน่อยไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-27 18:57:15 By : yutthanagorn
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอตัวอย่างหรือวิธีการเขียน PHP จัดการข้อมูลใน AD(Active Directory) ใน Server ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่