我是初学者(对我的英语感到抱歉)。我开发了一个 php API 来与 LDAP 目录交互。 我会在 AD 中通过 objectGUID 搜索用户。我无法搜索超过 2 个字符...
我尝试应用在 ldap_search() 的 phpdoc 上找到的这个方法:
ldap_search($ds,"dc=blahblah,dc=com", "(objectGUID=\\AE\\C3\\23\\35\\F7)");
但是我不知道如何替换AE,C3,...
与
$id = "4a3ef66a-ff9f-4e84-ad8d-dd3378e8df19";
我尝试从一个简单的问题开始:
$filters = "(objectGUID=*\\4a*)"; //(objectGUID=*\4a*)
-> 有效!已找到用户。
我尝试了更多:
$filters = "(objectGUID=*\\4a3e*)"; //(objectGUID=*\4a3e*)
-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0
我试过了:
$filters = "(objectGUID=*\\4a\\3e*)"; //(objectGUID=*\4a\3e*)
-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0
我试过了:
$filters = "(objectGUID=*\\4a-3e*)"; //(objectGUID=*\4a-3e*)
-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0
我试过了:
$filters = "(objectGUID=*\\4a*3e*)"; //(objectGUID=*\4a*3e*)
-> ldap_search($filters, [...]) 然后 ldap_get_entries() : count=0
谢谢你。
您的过滤器需要类似于
(objectGUID=\90\39\5F\19\1A\B5\1B\4A\9E\96\86\C6\6C\B1\8D\11)
objectGUID 作为“relicaLink”存储在 Microsoft Active Directory 中,看起来像一个八位字节字符串。我认为子字符串搜索不起作用。