0
我無法弄清楚如何在LDAP目錄中的objectSID搜索字符串:LDAP的objectSID字符串爲十六進制
$string = 'S-0-1-23-4567890123-4567890123-456789012-3456'
$ds = ldap_connect('xxxx', xxx);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$r = ldap_bind($ds, $bind_rdn, $bind_password);
$filter = "(objectSid=$string)";
$sr = ldap_search($ds, $dn, $filter);
$users = ldap_get_entries($ds, $sr);
然後我讀的地方,你應該把它作爲十六進制值: /00/00/...
$s = preg_replace('/../','\\\\$0',bin2hex($string));
但仍然沒有結果。如果我傳遞objectSid = * ass過濾器,我得到所有結果,所以我知道查詢正在工作:)。
Thx!
我找到了一段[代碼](https://github.com/Alaneor/AD-X/blob/develop/ADX/Core/Converter.php#L319),它將字節數組轉換爲SID -串。如果你能逆轉這個過程,那麼你很好(並且也請分享代碼)。:) 另外,如果你有選擇,使用ObjectGUID而不是SID。 [這是爲什麼](http://technet.microsoft.com/en-us/library/cc961625.aspx)。 – 2014-08-28 16:49:40