|
|
|
PHP Active Directory - ติดปัญหาการแสดงผลลัพธ์หลังจากที่ใช้ฟังก์ชัน ldap_search ครับ รวบกวนช่วยหน่อยครับ |
|
|
|
|
|
|
|
ผมได้ทำการเขียนโปรแกรม ตรวจสอบ Username และ Password
หลังจากที่ตรวจสอบแล้วผ่าน จะให้ทำการดึงข้อมูลของผู้ที่Login มาแสดง เช่น ชื่อ-สกุล
แต่ปัญหามาติดที่ว่า ค่าที่ได้ออกมาเป็นค่าว่าง นั้นคือ ค้นหาไม่พบ ได้ลองพยามยามแก้ไขมาหลายวันแล้วแต่ไม่ได้ซักที
รบกวนท่านผู้รู้ชี้แนะหน่อยครับ
ผลลัพธ์ที่ได้คือ
Connecting to LDAP Server..
Connect status is Resource id #6
Connect Authentication is: 1
Show Detail
ขอบคุณครับ
Code (PHP)
$dn_base = 'DC=mycom, DC=com';
$dn_host = 'xxx.xxx.x.x';
$ldapusers = xxx;
$ldappasswd = *** ;
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connect.
echo "Connecting to LDAP Server.. <br/>";
$ldapconn = ldap_connect($dn_host, 389)
or die("Could not connect to LDAP Server.");
echo "Connect status is ".$ldapconn."<br>";
// Set some Variables
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
// Bind to LDAP Server // Binding Anonymously
$ldapbind = ldap_bind($ldapconn ,$ldapusers, $ldappasswd) or die ("Users or Password Invalid.");
echo "Connect Authentication is: ".$ldapbind."<p>";
// Search
$filter = "([email protected])"; // CN = Common Name, SN = Surname , OU = Organization Unit
$justthese = array("dn","cn","uid");
$sr=ldap_search($ldapconn, $dn_base, $filter,$justthese);
if( !$sr ){
echo "<p>Error:" . ldap_error($ldapconn) . "</p>";
echo "<p>Error number:" . ldap_errno($ldapconn) . "</p>";
echo "<p>Error:" . ldap_err2str(ldap_errno($ldapconn)) . "</p>";
}
else
{
echo 'Show Detail <BR/>';
$info1 = ldap_get_entries($ldapconn, $sr);
print_r($info1[0]);
}
Tag : PHP, Windows
|
ประวัติการแก้ไข 2014-07-15 13:25:28 2014-07-15 13:30:29
|
|
|
|
|
Date :
2014-07-15 13:09:30 |
By :
watc_d |
View :
1609 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
set_time_limit(30);
error_reporting(E_ALL);
// config
$ldapserver = 'test.com';
$ldapuser = '[email protected]';
$ldappass = 'test_password';
$ldaptree = 'OU=IT,OU=Admin,OU=All TCG,DC=test,DC=com';//ดูวิธีการจาก รูปภาพ
// connect
$ldapconn = ldap_connect($ldapserver) or die("Could not connect to LDAP server.");
if($ldapconn) {
// binding to ldap server
echo 'Connected...';
$ldapbind = @ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn));
// verify binding
if ($ldapbind) {
echo "LDAP bind successful...<br /><br />";
$result = ldap_search($ldapconn,$ldaptree, "(cn=*)") or die ("Error in search query: ".ldap_error($ldapconn));
$data = ldap_get_entries($ldapconn, $result);
// SHOW ALL DATA
echo '<h1>Dump all data</h1><pre>';
print_r($data);
echo '</pre>';
// iterate over array and print data for each entry
echo '<h1>Show me the users</h1>';
for ($i=0; $i<$data["count"]; $i++) {
//echo "dn is: ". $data[$i]["dn"] ."<br />";
echo "User: ". $data[$i]["cn"][0] ."<br />";
if(isset($data[$i]["mail"][0])) {
echo "Email: ". $data[$i]["mail"][0] ."<br /><br />";
} else {
echo "Email: None<br /><br />";
}
}
// print number of entries found
echo "Number of entries found: " . ldap_count_entries($ldapconn, $result);
} else {
echo "LDAP bind failed...";
}
}
// all done? clean up
ldap_close($ldapconn);
?>
การเรียก DC String
ผลลัพธ์ แสดงปกติครับ
|
|
|
|
|
Date :
2014-07-24 13:26:37 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|