Прямо сейчас я должен написать полный запрос, чтобы иметь возможность войти в систему пользователя.
Есть ли способ сделать ldap_bind только с уникальным идентификатором по сравнению с написанием полного rdn.
Или, если бы я мог указать базовый DC, так что, если в нем есть подпрограммы с пользователями, он сможет проверить.
ldap_bind($ds, "uid=my_user", "password") versus
ldap_bind($ds,"uid=my_user,ou=developers,dc=mycompan,dc=org","password")
Вы должны использовать полный DN для аутентификации по LDAP. Другого пути нет.
То, что вы могли бы сделать, это выполнить поиск записи LDAP, содержащей ваши предпочтительные данные для входа, используя учетную запись пользователя по умолчанию или анонимную привязку. Затем извлеките DN из возвращенной записи и используйте его для второй привязки. Таким образом, ваш пользователь должен только ввести уникальный идентификатор, и вы все еще можете выполнить привязку, используя DN.
Для примера кода взгляните на https://gist.github.com/heiglandreas/5689592
Других решений пока нет …