Skip to content

有害部落格同好會

2007/06/22 / php

LDAP 連線範例

在 linux 上用 LDAP 連接 Windows 2003 的 AD 的範例程式
重點 1. 注意連接的 Port, Windows 的 LDAP 請走 port 3268
重點 2. 連線登入時請輸入完整的 filter string 作為帳號,
ex. ad_access_account@your_org
or
CN=Guest,OU=IT-Test,OU=CompanyMember,DC=Company,DC=local

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
< ?php
// 本例使用到 connect, bind, search, interpret search
// result, close connection 等等 LDAP 的功能。
 
echo "<h3>LDAP 搜尋測試";
echo "連線中 ...";
 
// 先連上有效的 LDAP 伺服器
$ds=ldap_connect("192.168.xxx.xxx",3268)or die("Could not connect");
 
echo "連上 ".$ds."<p>";
 
if ($ds) {
echo "Binding ... ";
$r=ldap_bind($ds,"ad_access_account@your_org","your_password");
 
if ($r) { echo "Bind Successful!";
echo "Bind result is " . $r . "<br />";
}
 
else echo "Bind Failure!";
 
echo "Searching for (OU=2140-IT) ...";
 
// Search surname entry
$sr=ldap_search($ds, "DC=company,DC=local", "CN=search_someone_account");
 
if ($sr)
{ echo "Search result is " . $sr . "<br />";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
}
 
else echo "Search fail <br />";
echo "Getting entries ...</p><p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:</p><p>";
 
for ($i=0; $i< $info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
 
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>無法連接到 LDAP 伺服器</h4>";
}
?>
</p>

< ?php // 本例使用到 connect, bind, search, interpret search // result, close connection 等等 LDAP 的功能。 echo "<h3>LDAP 搜尋測試"; echo "連線中 ..."; // 先連上有效的 LDAP 伺服器 $ds=ldap_connect("192.168.xxx.xxx",3268)or die("Could not connect"); echo "連上 ".$ds."<p>"; if ($ds) { echo "Binding ... "; $r=ldap_bind($ds,"ad_access_account@your_org","your_password"); if ($r) { echo "Bind Successful!"; echo "Bind result is " . $r . "<br />"; } else echo "Bind Failure!"; echo "Searching for (OU=2140-IT) ..."; // Search surname entry $sr=ldap_search($ds, "DC=company,DC=local", "CN=search_someone_account"); if ($sr) { echo "Search result is " . $sr . "<br />"; echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />"; } else echo "Search fail <br />"; echo "Getting entries ...</p><p>"; $info = ldap_get_entries($ds, $sr); echo "Data for " . $info["count"] . " items returned:</p><p>"; for ($i=0; $i< $info["count"]; $i++) { echo "dn is: " . $info[$i]["dn"] . "<br />"; echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />"; echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />"; } echo "Closing connection"; ldap_close($ds); } else { echo "<h4>無法連接到 LDAP 伺服器</h4>"; } ?> </p>

Post navigation

Previous Post:

判斷程式啟始和結束執行的時間差(毫秒)

Next Post:

Mantis 如何設定 LDAP

分類

  • 新奇有趣の搶先報導
    • Raspberry Pi
    • 手機相關
    • 推薦軟體
    • 新鮮有趣
    • 生活資訊
  • 想破腦袋の程式技巧
    • Oracle EBS
    • Database
    • Excel, VBA
    • php
    • JavaScript, VBScript
    • VS.NET
    • Others
    • Windows
    • SAP
  • 撩動心弦の短文小品
  • 聚沙成塔の理財守則
  • 不可不知の職場實錄
  • 剎那永恆の生活翦影

近期文章

  • 受保護的內容: 如何透過Personalize功能呼叫另一form來回傳值
  • Win10 / 8 / 7 無法安裝 SSD
  • 受保護的內容: 樹梅派+遠端連線
  • EBS R12 取得客戶的phone, email, URL資料
  • 受保護的內容: 管控Workflow Administrator Role

友站

  • Masaya396's 協奏曲
  • 老塗的咁仔店

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

Tag Cloud

你目前使用的瀏覽器不支援 HTML5 的 CANVAS 標籤。

  • javascript
  • EBS 12.1.3
  • SAP
  • MySql
  • VB.Net
  • VB6
  • LDAP
  • VBA
  • EBS 11.5.10
  • Win7
  • WinXP
  • Oracle DB
  • excel
  • HTC
  • Oracle EBS
  • 管理
  • 感情
  • CSS
  • SQL
  • php
© 2025 有害部落格同好會 - Powered by SimplyNews