繁体   English   中英

如何获取所有LDAP条目?

[英]how can I get ALL LDAP entries?

我知道LDAP绑定如何使用搜索进行身份验证,但如果我想要所有的全名条目,我该怎么办...那么如何才能获得所有人的全名或电子邮件?

下面我使用LDAP绑定进行身份验证,我可以搜索一个人,但如果我想要它们怎么办?

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

这是我的一些MySQL代码填充html列表:

<ol>     

<?php
mysql_connect("kool", "ohjoa", "sampa") or die(mysql_error());
mysql_select_db("DBtest") or die(mysql_error());

$query = "SELECT * FROM EditOnCall"; 

$result = mysql_query($query) or die(mysql_error());


while($row = mysql_fetch_array($result)){
    echo "<li>".$row['Email']."</li>";
    echo "<br />";
}


?>

</ol>

现在显示一个电子邮件的HTML列表。 除了在目录中显示所有ldap用户的全名外,我想做的事情与LDAP相同...我的LDAP只有200个人,所以它不是太大。

有任何想法吗?

绑定是一种LDAP请求,搜索是另一种类型的请求。 绑定建立连接的身份验证状态,搜索使用基础对象,范围,过滤器和其他可选参数来构建筛选并返回到LDAP客户端的条目候选列表。 连接的身份验证状态还将建立某些访问功能,例如可以检索哪些条目,可以在搜索中检索多少条目,在搜索上花费了多少时间,在完成过程中应检查多少条目搜索请求和其他功能。 如果不使用根DN,则可能无法检索目录中的所有条目,并且LDAP管理员可能会禁止非根DN身份验证状态检索多个条目。 有关搜索的详细信息,请参阅“ LDAP:使用ldapsearch ”。 有关使用LDAP编程的更多常规信息,请参阅“LDAP:编程实践” 有关更多详细信息,请参阅LDAP搜索最佳实践

关于过滤器,星号不是所描述意义上的通配符(cn=*) 这称为存在过滤器,用于指示在过滤候选列表时,断言中使用的属性(在本例中为cn )是否存在于条目中。 星号可以用作子字符串过滤器的一部分,例如, (cn=abc*)(mail=user@example*)

在任何情况下,应尽可能避免在大型目录中使用子字符串过滤器,无论如何都可能被禁止,就像“拖网”目录一样。

这不是关于你如何绑定,而是关于你如何搜索。 您需要了解LDAP过滤器 (此链接与AD相关,但其中的所有信息都可以应用于任何LDAP节点)。

您可以在LDAP过滤器中使用*作为通配符。 假设您想要获取objectClass=User所有对象,这些对象由名为cn=Users的根容器中的属性cn标识 - 您将执行此操作:

$searchResult = ldap_search($ldapconn,'cn=Users','(&(objectClass=User)(cn=*))',array('cn','guid'));

绑定方式的唯一方法可能会影响此原则,即用于绑定的用户无权访问您在目录中查找的对象。

如果您显示更多正是您要执行的操作的代码,我将更详细地编辑此答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM