ldap php 如何进行搜索

   2024-09-29 2640
核心提示:要在PHP中使用LDAP进行搜索,您可以使用ldap_search()函数。以下是一个简单的示例,展示了如何使用LDAP搜索功能查找特定属性的用

要在PHP中使用LDAP进行搜索,您可以使用ldap_search()函数。以下是一个简单的示例,展示了如何使用LDAP搜索功能查找特定属性的用户。

首先,确保已安装并启用了PHP的LDAP扩展。

<?php// 设置LDAP服务器$ldap_server = "ldap://your_ldap_server";// 设置要连接的LDAP目录管理员$ldap_user = "your_ldap_user";$ldap_password = "your_ldap_password";// 设置要搜索的基目录$base_dn = "ou=users,dc=example,dc=com";// 设置要搜索的属性$attributes = array("sn", "cn");// 构建LDAP搜索字符串$search_filter = "(&(objectClass=inetOrgPerson))"; // 您可以根据需要修改搜索过滤器// 连接到LDAP服务器$conn = ldap_connect($ldap_server);if (!$conn) {    die("Could not connect to LDAP server: " . ldap_error());}// 绑定到LDAP服务器if (!ldap_bind_s($conn, $ldap_user, $ldap_password)) {    die("Could not bind to LDAP server: " . ldap_error());}// 执行LDAP搜索$search_result = ldap_search($conn, $base_dn, $search_filter, $attributes);// 检查搜索结果if ($search_result) {    // 获取搜索结果中的条目数    $entries = ldap_count_entries($conn, $search_result);    echo "Found " . $entries . " entries:\n";    // 遍历搜索结果    for ($i = 0; $i < $entries; $i++) {        $entry = ldap_get_entries($conn, $search_result, $i + 1);        // 输出条目的属性        foreach ($attributes as $attr) {            if (isset($entry[$attr][0])) {                echo $attr . ": " . $entry[$attr][0] . "\n";            }        }        echo "\n";    }} else {    echo "No entries found.";}// 关闭LDAP连接ldap_unbind($conn);?>

请注意,您需要将your_ldap_serveryour_ldap_useryour_ldap_passwordou=users,dc=example,dc=com替换为您的实际LDAP服务器、用户、密码和基目录。您还可以根据需要修改搜索过滤器。

这个示例将连接到LDAP服务器,执行搜索,并输出找到的每个用户的sncn属性。您可以根据需要修改此代码以适应您的具体需求。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号