Я пытаюсь сделать поиск LDAP по многозначному атрибуту ACL с использованием PHP. Но когда я пытаюсь установить фильтр на ACL $filter="(ACL=*$cn*)"
где $cn = prnman03
результатов нет.
ACL - 16#entry#cn=prnman03,ou=ipp,ou=services,o=uct#[Entry Rights]
3#entry#[Root]#iPrintPrinterIPPURI
8#entry#ou=backup,ou=ipp,ou=services,o=uct#iPrintPrinterUserRole
8#entry#ou=ippl,ou=ipp,ou=services,o=uct#iPrintPrinterUserRole
8#entry#ou=ipp,ou=services,o=uct#iPrintPrinterUserRole
cn - IPP00005
iPrintPrinterIPPURI- ipp://srvnbsidw001.uct.ac.za/ipp/IPP00005
Если одно из значений атрибута соответствует фильтру, то запись будет считаться возвращенной (если позволяют разрешения).
Но помните, что фильтры LDAP разрешаются в True, False, Undefined. Неопределенный означает, что не было никакого способа применить фильтр и получить результат. Если для атрибута ACL не определено правило сопоставления подстроки, сопоставление фильтра подстроки будет неопределенным.
Поскольку вы делаете это на ACL для eDirectory, я не думаю, что вы найдете и значения, которые работают для подстрок. Хотя их документация скажем, есть некоторые условия, когда сопоставление будет работать, я не смог найти или выполнить такие совпадения.