ldap php 如何进行搜索
导读:要在PHP中使用LDAP进行搜索,您可以使用ldap_search( 函数。以下是一个简单的示例,展示了如何使用LDAP搜索功能查找特定属性的用户。 首先,确保已安装并启用了PHP的LDAP扩展。 <?php // 设置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_server
、your_ldap_user
、your_ldap_password
和ou=users,dc=example,dc=com
替换为您的实际LDAP服务器、用户、密码和基目录。您还可以根据需要修改搜索过滤器。
这个示例将连接到LDAP服务器,执行搜索,并输出找到的每个用户的sn
和cn
属性。您可以根据需要修改此代码以适应您的具体需求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ldap php 如何进行搜索
本文地址: https://pptw.com/jishu/700396.html