函式名:ldap_set_rebind_proc()
適用版本:PHP 4 >= 4.0.5, PHP 5, PHP 7
用法: ldap_set_rebind_proc(resource $link, callable $callback): bool
該函式用於設定在每次重新繫結到LDAP伺服器時呼叫的回撥函式。它可用於在重新繫結時執行一些自定義操作,例如更改繫結憑證或重新連線到不同的伺服器。
引數:
- $link:LDAP連線資源,透過ldap_connect()函式獲得。
- $callback:一個可呼叫的函式,當重新繫結時會被呼叫。該回撥函式應該接受兩個引數:LDAP連線資源和要重新繫結的使用者名稱。回撥函式不返回任何值。
返回值: 如果成功設定回撥函式,則返回true。如果失敗,則返回false。
示例:
// 建立LDAP連線
$ldap = ldap_connect("ldap.example.com");
// 設定回撥函式
ldap_set_rebind_proc($ldap, function ($link, $username) {
// 在重新繫結之前執行一些操作,例如更改繫結憑證
$password = getPasswordForUser($username);
ldap_bind($link, $username, $password);
});
// 繫結到LDAP伺服器
ldap_bind($ldap, "admin", "adminpassword");
// 執行一些LDAP操作...
// 重新繫結到不同的使用者
ldap_bind($ldap, "anotheruser", "anotherpassword");
// 執行其他LDAP操作...
在上面的示例中,我們首先建立了一個LDAP連線,並使用ldap_set_rebind_proc()函式設定了一個回撥函式。該回撥函式在每次重新繫結時被呼叫,以執行自定義操作。然後,我們使用ldap_bind()函式進行初始繫結,並執行一些LDAP操作。最後,我們重新繫結到另一個使用者,並繼續執行其他LDAP操作。