Я пытаюсь интегрировать BorisMorel LdapBundle с FOSUser, следуя этому руководству: использование пользовательского диспетчера пользователей с аутентификацией LDAP
Моя цель заключается в аутентификации с использованием LDAP и последующем хранении данных LDAP в моей таблице fosuser.
Я дошел до того, что данные правильно извлекаются из LDAP и хранятся в таблице fosuser. Я не хочу, чтобы он хранил пароль в базе данных, потому что на нем нет никакой пользы, так как я предпочитаю, чтобы пароль был проверен с помощью LDAP для каждого входа.
Проблема в том, когда я добираюсь до этой точки: C: \ xampp \ htdocs \ Symfony2 \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Security \ Core \ Authentication \ Provider \ UserAuthenticationProvider.php
В функции: аутентификация публичной функции (токен TokenInterface $)
Он вызывает функцию: $ this-> checkAuthentication ($ user, $ token);
Что решает эту функцию: checkAuthentication (UserInterface $ user, UsernamePasswordToken $ token)
Что находится в этом файле: C: \ xampp \ htdocs \ Symfony2 \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Security \ Core \ Authentication \ Provider \ DaoAuthenticationProvider.php
Поскольку он проверяет пароль, используя это: encoderFactory-> getEncoder ($ user) -> isPasswordValid ($ user-> getPassword (), $ ПредставленныйПароль, $ user-> getSalt ())) {throw new BadCredentialsException ('Представленный пароль }
Поскольку пароль в таблице fosuser пуст, аутентификация всегда терпит неудачу, даже если она уже прошла тест LdapBundle.
Что мне не хватает? Я предполагаю, что используется неверный валидатор, но он не описан в ресурсах BorisMorel !.
Пожалуйста помоги!