Учтите, что у меня есть два пользователя, user1 и user2 находятся под следующим base_dc соответственно.

:base_dc:ou="ABC",ou="DEF",DC="XXX" :base_dc:ou="HIJ",ou="POQ",DC="XXX"

Теперь мой вопрос: при входе в приложение я буду использовать имя пользователя и пароль и использовать вышеуказанную (любую 1) конфигурацию в моем файле config/ldap_config.yml и использовать для аутентификации. Теперь, когда есть 2 разных пользователя в разных OU, мне немного сложно написать один base_dc, чтобы ldap мог искать пользователя в активном каталоге и аутентифицировать. На данный момент нет дополнительных параметров, связанных с пользователями, таких как phoneNumber и прочее.

Так может ли кто-нибудь предложить, что может быть решением? Или как мне поступить в этой ситуации? Заранее спасибо

0
karthik339 7 Апр 2011 в 13:11

1 ответ

Если ваш DC=XXX означает, что оба пользователя находятся в одном домене, установите для базы поиска значение dc=XXX.

Проблемы возникают, когда у вас есть два непересекающихся базовых DN.

0
geoffc 8 Апр 2011 в 06:48
Хорошо, спасибо, это сработало для меня. Но не могли бы вы сказать мне, как я могу установить привилегию поиска для определенного пользователя, и никто из других пользователей не должен искать в AD. Это что-то вроде того парня с правами администратора.
 – 
karthik339
8 Апр 2011 в 08:01
Обычно вы делаете так, что ваша служба привязывается к одной учетной записи, которая имеет достаточные права, выполняет поиск uid=jsmith или, возможно, mail=jsmith@acme.com или даже sn=Smith, а затем, как только вы получаете ответ, вы находите их полное DN, затем привяжите как их полное DN и предоставленный пароль (или же passwordCompare, привязка лучше, так как она затрагивает атрибуты времени входа в систему, если поддерживается), чтобы увидеть, разрешен ли им доступ.
 – 
geoffc
8 Апр 2011 в 21:43