|
|
|
PHP ถามวิธีการเขียนเว็บเพื่อตรวจสอบชื่อ User ใน Active Directory (AD) ครับ |
|
|
|
|
|
|
|
Code
<?
$host = "xxxxxxxxxxxxxxxxx";
$port = "389";
$dn = 'administrator';
$pass = 'xxxxxxxxxxxxxxxxxx';
$basedns = "@xxxxxxxxxxxxxxxx";
$base = "ou=department,ou=company,dc=domain,dc=com";
$scope = "sub";
$filter = "sAMAccountName=*";
echo "<h3>LDAP query test</h3>\n";
echo "Connecting ...\n";
$ds=ldap_connect($host, $port);
echo "connect result is " . $ds . "<br>\n";
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ds, LDAP_OPT_REFERRALS,0);
if ($ds) {
echo "Binding ...\n";
if (!ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Failed to setup LDAP protocol to 3 - Start TLS not support\n";
exit;
}
$r=ldap_bind($ds, $dn.$basedns, $pass);
echo "Bind result is " . $r . "<br>\n";
echo "Searching for $filter ...";
$sr=ldap_search($ds, $base, "($filter)");
echo "Search result is " . $sr . "<br>\n";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br>\n";
echo "Getting entries ...<p>\n";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>\n";
for ($i=0; $i<$info["count"]; $i++) {
echo "DN : " . $info[$i]["dn"] . "<br>\n";
echo "User Name : " . $info[$i]["samaccountname"][0] . "<br>\n";
echo "Display Name : " . $info[$i]["givenname"][0] . " ". $info[$i]["sn"][0] ."<br>\n";
echo "Description : " . $info[$i]["description"][0] . "<br>\n";
echo "Office : " . $info[$i]["physicaldeliveryofficename"][0] . "<br>\n";
echo "Phone Number : " . $info[$i]["telephonenumber"][0] . "<br>\n";
echo "E-Mail: " . $info[$i]["mail"][0] . "<br><hr>\n\n";
}
echo "Closing connection\n";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
คือแบบว่า โค้ดข้างบนนี้ไปเจอจากเว็บมาครับ เค้าบอกมันจะแสดงชื่อ user จาก AD แตผมลองมาใช้กับตัวเอง มันไม่เจอข้อมมูลครับมันเปน 0 ไม่เจอ data
ผมอยากถามว่า
1. $base = "ou=department,ou=company,dc=domain,dc=com"; มันคือตัวแปรเหรอครับ แล้วถ้าจะให้แสดงชื่อ user มันคือตัวแปรอะไรเหรอ
2. echo "User Name : " . $info[$i]["samaccountname"][0] . "<br>\n"; ไอตรง samaccountname ผมสงสัยว่ามันคือตัวแปรในเครื่อง server เหรอครับ แล้วเครื่องที่ทำงานผมมันจะชื่อตัวแรแบบนี้มั้ย แล้วจะดูอย่างไรว่า ของผมชื่ออะไร
Tag : PHP, Ms SQL Server 2005, Ms SQL Server 2008, Ms SQL Server 2012, HTML/CSS, Windows
|
ประวัติการแก้ไข 2013-01-08 08:30:24
|
|
|
|
|
Date :
2013-01-07 11:07:55 |
By :
clashhum |
View :
1624 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AD ของคุณใช้งานได้จริงหรือเปล่าครับ
|
|
|
|
|
Date :
2013-01-07 17:14:28 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ได้จริงคับ ผมมีคำถามคับว่า พวก
Code (PHP)
echo "DN : " . $info[$i]["dn"] . "<br>\n";
echo "User Name : " . $info[$i]["samaccountname"][0] . "<br>\n";
echo "Display Name : " . $info[$i]["givenname"][0] . " ". $info[$i]["sn"][0] ."<br>\n";
echo "Description : " . $info[$i]["description"][0] . "<br>\n";
echo "Office : " . $info[$i]["physicaldeliveryofficename"][0] . "<br>\n";
echo "Phone Number : " . $info[$i]["telephonenumber"][0] . "<br>\n";
echo "E-Mail: " . $info[$i]["mail"][0] . "<br><hr>\n\n";
แอทริบิ๊วพวกนี้ นี่เราต้องไปดูจาก AD เราเองใช่ไหมคับว่ามันสร้างไว้ยังไงใช่ไหมคับ หรือเรามีคำสั่งที่เรียกดูแอทริบิ๊วได้
|
|
|
|
|
Date :
2013-01-08 08:34:07 |
By :
clashhum |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|