LDAP(輕量級目錄訪問協議)是一種用于訪問和維護分布式目錄信息服務的協議
如何連接到LDAP服務器?
使用ldap_connect()函數連接到LDAP服務器。例如:
$ldap_server = "ldap://example.com";
$ldap_port = 389;
$conn = ldap_connect($ldap_server, $ldap_port);
如何綁定到LDAP服務器?
使用ldap_bind()函數綁定到LDAP服務器。例如:
$user = "cn=admin,dc=example,dc=com";
$password = "your_password";
$conn = ldap_connect($ldap_server, $ldap_port);
$result = ldap_bind($conn, $user, $password);
如何搜索LDAP目錄?
使用ldap_search()函數搜索LDAP目錄。例如:
$base_dn = "ou=users,dc=example,dc=com";
$filter = "(objectClass=person)";
$attributes = array("dn", "sn", "cn");
$result = ldap_search($conn, $base_dn, $filter, $attributes);
如何獲取搜索結果?
使用ldap_get_entries()函數獲取搜索結果。例如:
$entries = ldap_get_entries($conn, $result);
如何遍歷搜索結果?
使用循環遍歷搜索結果。例如:
for ($i = 0; $i < $entries["count"]; $i++) {
echo "DN: " . $entries[$i]["dn"] . "<br>";
echo "SN: " . $entries[$i]["sn"] . "<br>";
echo "CN: " . $entries[$i]["cn"] . "<br><br>";
}
如何從搜索結果中獲取特定屬性?
使用ldap_get_values()函數從搜索結果中獲取特定屬性。例如:
$attributes = ldap_get_values($conn, $entries[$i], "sn");
echo "SN: " . $attributes[0] . "<br>";
如何更新LDAP目錄中的記錄?
使用ldap_modify()函數更新LDAP目錄中的記錄。例如:
$dn = "cn=John Doe,ou=users,dc=example,dc=com";
$modifications = array(
"sn" => array("new_sn" => "John Smith"),
"cn" => array("new_cn" => "John Doe Smith")
);
$result = ldap_modify($conn, $dn, $modifications);
如何刪除LDAP目錄中的記錄?
使用ldap_delete()函數刪除LDAP目錄中的記錄。例如:
$dn = "cn=John Doe,ou=users,dc=example,dc=com";
$result = ldap_delete($conn, $dn);
如何關閉LDAP連接?
使用ldap_unbind()函數關閉LDAP連接。例如:
ldap_unbind($conn);
如何處理LDAP錯誤?
使用ldap_error()和ldap_error_string()函數處理LDAP錯誤。例如:
$error = ldap_error($conn);
$error_string = ldap_error_string($error);
echo "Error: " . $error_string . "<br>";