2013-02-26 73 views
2

我有一個php應用程序查詢LDAP服務器。使用LDAP瀏覽器的桌面應用程序,我可以看到列爲用戶: CN = joebloe,OU =用戶,ou =人,O = CUIDphp ldap搜索找到屬性

與像屬性: 'departmentNumber', 'LOGINDISABLED' 等

在我的php應用程序中,我有這樣的代碼:

$sr = ldap_search($ds, "o=$o", "cn=joebloe,ou=users,ou=people,o=cuid"); 

但是,這代碼我錯了,只是返回資源鏈接;如果我能得到'loginDisabled'屬性的值,那將會很好。

我該怎麼做? 謝謝!

回答

1

看看到http://es2.php.net/manual/en/function.ldap-search.phphttp://es2.php.net/manual/es/function.ldap-get-entries.php

<?php 
// $ds is a valid link identifier for a directory server 

// $person is all or part of a person's name, eg "Jo" 

$dn = "o=My Company, c=US"; 
$filter="(|(sn=$person*)(givenname=$person*))"; 
$justthese = array("ou", "sn", "givenname", "mail"); 

$sr=ldap_search($ds, $dn, $filter, $justthese); 

$info = ldap_get_entries($ds, $sr); 

echo $info["count"]." entries returned\n"; 
?> 

段從PHP手冊

+0

是,該鏈接已經讓我開始,現在我得到一個值的「計數」。試圖找出獲取loginDisabled值...謝謝 – IrfanClemson 2013-02-26 19:11:07

1

如果你想獲得對joebloe的信息複製,那麼你應該尋找他。我認爲你的基地DN字符串有點太具體。

嘗試了這一點:

$search = ldap_search($ds, "ou=users,ou=people,o=cuid", "cn=joeblow"); 
$results = ldap_get_entries($ds, $search); 
var_dump($results); 

// Print Department Number 
echo "Department Number = ".$results[0]['departmentNumber'][0];