[英]LDAP search query not working?
Trying to search for information about a person in a directory with LDAP
. 尝试使用
LDAP
在目录中搜索有关人员的信息。 everything else works except this search string but no one can figure out what is wrong. 除此搜索字符串外,其他所有方法都起作用,但是没有人能找出问题所在。
The result just comes up with an empty set despite that it returns values in bash. 尽管返回的结果以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]);
#}
}
?>
You are looking at the container OU=Standard,OU=Cisco Groups,DC=cisco,DC=com
for an object where CN=user
is true. 您正在查看容器
OU=Standard,OU=Cisco Groups,DC=cisco,DC=com
,其中CN=user
为true的对象。 Perhaps you meant (objectClass=user)
or do you really expect to have an object whose CN
attribute is set to user
? 也许您的意思是
(objectClass=user)
还是真的希望有一个CN
属性设置为user
的对象?
That seems lightly implausible. 这似乎有点难以置信。 You might be thinking about the AD default setup, where the Users container is actually a container and thus
cn=Users
and not ou=Users
as you might have otherwise expected (nor dc=Users
). 您可能正在考虑AD的默认设置,其中Users容器实际上是一个容器,因此
cn=Users
而不是ou=Users
与您期望的一样(也不是dc=Users
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.