Я создал пользовательский провайдер в моем проекте symfony 2.3. В функции loadUserByUsername я вызываю webservice для аутентификации моего пользователя. Теперь моя проблема в том, что я хочу получить пароль, который был введен в форме входа. Так я прошел контейнер службы в качестве аргумента, следуя кодпроблема с компонентом безопасности symfony2
services:
webservice_user_provider:
class: AppBundle\Security\User\WebserviceUserProvider
arguments: ['@service_container']
в моем пользовательском классе провайдера, я получаю объект запроса, так что я могу получить пароль
public function __construct(Container $container) {
$this->request = $container->get('request');
}
Делая это таким образом, Symfony профайлер/панель инструментов показывает сообщение «Компонент безопасности отключен». Вход работает отлично, но все же сообщение меня немного беспокоит. Есть ли другой способ получить пароль в пользовательском провайдере/получателе контейнера в провайдере?
Звучит так, как будто вы не должны писать пользовательский поставщик, а пользовательский аутентификатор. См. Http://symfony.com/doc/current/cookbook/security/custom_password_authenticator.html для примера. – Gerry
Спасибо, Джерри, попробуй свое предложение – Jaimin