Я борюсь с аутентификацией ldap в проекте symfony.Symfony3 LDAP аутентификация связывает учетные данные
Моя служба выглядит следующим образом:
ldap:
class: Symfony\Component\Ldap\Ldap
factory: ['Symfony\Component\Ldap\Ldap', 'create']
arguments:
- 'ext_ldap'
- host: 'ldap.example.com'
Привязать и пример запроса к серверу LDAP работают отлично:
$ldap = $this->get('ldap');
$ldap->bind('binduser', 'bindpw');
$query = $ldap->query('OU=MyBusiness,DC=example,DC=com', 'sAMAccountName=xxx');
Теперь я хочу, чтобы выполнить проверку подлинности на сервере LDAP. Я использовал настройки брандмауэра от http://symfony.com/doc/current/security/ldap.html#configuration-example-for-form-login. Но большой вопрос в том, где можно поместить учетные данные связывания здесь?
Соответствующая запись в журнале здесь:
php.DEBUG: Warning: ldap_bind(): Unable to bind to server: Invalid credentials
Так что это довольно очевидно, что не хватает, но я не мог найти способ, чтобы обеспечить полномочия привязки к form_login_ldap.
Ссылка на http://symfony.com/doc/current/reference/configuration/security.html также не показывает, как их обеспечить.
Спасибо!
Привет, не пользователи, которые будут вводить свои учетные данные в регистрационную форму не допускается связываться с сервером LDAP. Существует один конкретный пользователь, которому разрешено подключаться к серверу ldap, и с этим пользователем я мог бы выполнять запросы. Основным требованием для этого проекта является наличие двух пользовательских каталогов. (По крайней мере, я думаю, я должен решить это с помощью двух пользовательских каталогов) – marcus
, тогда вы не можете использовать 'form_login_ldap'. вы должны реализовать свою собственную систему. взгляните на это http://symfony.com/doc/current/security/custom_password_authenticator.html – ste
Хорошо - да, чем больше я читаю и тестирую, тем больше понимаю, что мне приходится писать собственный аутентификатор. Спасибо за вашу поддержку;) – marcus