[英]LDAP search query not working?
嘗試使用LDAP
在目錄中搜索有關人員的信息。 除此搜索字符串外,其他所有方法都起作用,但是沒有人能找出問題所在。
盡管返回的結果以bash表示,但結果只是帶有一個空集。
$result = ldap_search(
$ds,
$base_domain,
'(CN=user)'
) or die("error in search");
<?php
$DEBUGGING = True;
if($DEBUGGING)
{
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
}
$server = 'ldaps://ds.cisco.com';
#$port = 639;
$port = 636;
$ds=ldap_connect($server, $port);
echo "connect result is " . $ds . "<br />";
if ($ds)
{
$r = ldap_bind($ds, $username, $password);
echo "Bind result is " . $r . "<br />";
$base_domain = 'OU=Standard,OU=Cisco Groups,DC=cisco,DC=com';
#$base_domain = 'dc=cisco,dc=com';
#$base_domain = 'OU=Employees,OU=Cisco Groups,DC=cisco,DC=com';
#$result = ldap_search($ds, $base_domain, '(&(CN=selyons))') or die ("error in search");
#$result = ldap_search($ds, $base_domain, '(&(membersOf=CN=it-puppet-masters,OU=Standard,OU=Cisco Groups,DC=cisco,DC=com)(sAMAccountName=*))') or die ("error in search");
$result = ldap_search($ds, $base_domain, '(CN=user)') or die("error in search");
echo "SEARCHING" . "<br />";
#while ($row=mysql_fetch_array($result, MYSQL_NUM))
#{
#print_r($row);
#print($row[0]);
#}
$info = ldap_get_entries($ds, $result);
#$arraystring = print_r($info, true);
echo "<pre>";
print_r($info);
echo "</pre>";
#echo $arraystring;
#print_r($info[699][2][0]);
#print_r($info[699][2][1]);
#print_r($info[699][2][2]);
#print_r($info[699][2][3]);
#print_r($info[699][2][4]);
#print_r($info[699][2]);
#print_r($info[699]);
#$members = $info[0]["member"];
#echo $members;
#for($i = 0; $i < 30; $i++)
#{
#print_r($info[699]);
#}
}
?>
您正在查看容器OU=Standard,OU=Cisco Groups,DC=cisco,DC=com
,其中CN=user
為true的對象。 也許您的意思是(objectClass=user)
還是真的希望有一個CN
屬性設置為user
的對象?
這似乎有點難以置信。 您可能正在考慮AD的默認設置,其中Users容器實際上是一個容器,因此cn=Users
而不是ou=Users
與您期望的一樣(也不是dc=Users
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.