FOSUserBundle + login_check

Я следовал руководству и создал MyBundle, который расширяет FOSUserBundle,

Пока все работает, могу

1)зарегистрировать пользователя 2)отправить ему письмо 3)подтвердить его аккаунт (после подтверждения я вошел в систему) 4)выйти

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

Запрос запущен, но ошибка формы входа: «Неверные учетные данные...».

Я использую в security.yml

encoders: 'FOS\UserBundle\Model\UserInterface': sha512

поэтому мое поле пароля внутри базы данных использует как шифрование sha512, так и соль.

Должен ли я каким-либо образом изменить своего расширенного пользователя, чтобы использовать кодировщик 512 и соль при сравнении пароля базы данных и пароля, предоставленного пользователем?

Если это проблема, кто-нибудь знает, в каком классе и как реализовать вышеизложенное, потому что это

http://symfony.com/doc/current/book/security.html#encoding-the-user-s-password

не помогает мне прямо сейчас.

Или кто-нибудь может подсказать мне, как это отладить?

Наконец-то я действительно застрял на этом...


person Nikos    schedule 20.05.2012    source источник


Ответы (2)


Проверьте свою базу данных, содержащую созданных вами пользователей. Затем проверьте, что в вашей пользовательской истории имя столбца БД enable=1 для любого пользователя. Зарегистрированный пользователь может войти в систему, только если enable=1. Если enable=0, вы не можете войти.

Надеюсь, это поможет вам.

person Asish AP    schedule 20.05.2012
comment
пользователь включен в базу данных - person Nikos; 20.05.2012

FOSUserbundle for ожидает поля «_password» и «_username», все остальное не будет работать, если вы не настроили эти имена полей. (?) - почистил кеш?

Но, возможно, это реальная проблема. Тогда вам, возможно, следует опубликовать код.

person Phil    schedule 22.03.2013