Как мне войти в систему с помощью ldap_bind на основе uid?

Прямо сейчас я должен написать полный запрос, чтобы иметь возможность войти в систему пользователя.
Есть ли способ сделать 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")

0

Решение

Вы должны использовать полный DN для аутентификации по LDAP. Другого пути нет.

То, что вы могли бы сделать, это выполнить поиск записи LDAP, содержащей ваши предпочтительные данные для входа, используя учетную запись пользователя по умолчанию или анонимную привязку. Затем извлеките DN из возвращенной записи и используйте его для второй привязки. Таким образом, ваш пользователь должен только ввести уникальный идентификатор, и вы все еще можете выполнить привязку, используя DN.

Для примера кода взгляните на https://gist.github.com/heiglandreas/5689592

1

Другие решения

Других решений пока нет …