Когда я пытаюсь зарегистрировать двух пользователей с тем же именем. Я получаю сообщение, что это имя существует уже с fosbundle.My вопрос, как этого избежать?избегать имени пользователя по регистрации в FOSuserBundle
ответ
Судя по вашим комментариям, я считаю, что вы путаете имя пользователя с именем и фамилией. У ваших пользователей может быть одно и то же имя и фамилия, но у них не должно быть одинакового имени пользователя. FOSUserBundle использует комбинацию имени пользователя и пароля для аутентификации пользователей. При некоторой конфигурации вы можете разрешить пользователям входить в систему с помощью электронной почты/пароля или даже использовать электронную почту в качестве имени пользователя.
В любом случае имя пользователя должно оставаться уникальным. Если вы правильно настроили FOSUserBundle, у вас должен быть свой собственный класс пользовательских сущностей, который расширяет пользовательский объект из пакета. Здесь вы добавляете дополнительные поля, такие как имя и фамилия, и так далее.
Если вы хотите, чтобы несколько пользователей имели одинаковое имя пользователя, вам нужно будет переопределить контроллер FOSUserBundle и установить новое поле на странице регистрации. Я бы рекомендовал удалить поле «имя пользователя» и создать новое свойство «имя».
Так что добавьте имя под названием 'user_name', которое действует так же, как имя и фамилия. Удалите поле имени пользователя из регистрационной формы, поскольку оно должно быть уникальным.
Вы можете узнать больше об этом здесь: http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_forms.html
Когда пользователь создается с помощью FOSUserBundle они должны требовать имя пользователя, адрес электронной почты и пароль. Поскольку вы удалили поле имени пользователя, я бы просто дублировал письмо как имя пользователя (потому что вам нужно хотя бы одно уникальное поле).
Если вы переопределите форму входа в систему, чтобы она проверяла только электронную почту и пароль для проверки, а не имя пользователя/адрес электронной почты и пароль, она должна предоставить вам желаемые функции входа в систему только по электронной почте и паролю. Поскольку имя пользователя также будет их электронной почтой.
Пример новой страницы регистрации, когда вы переопределены форма против акций регистрационной формы
Старых:
Email: [email protected]
Username: uniquename
Password: xxxxxxx
Repeat password: xxxxxxx
Новый:
Email: [email protected]
User_name: duplicatesallowed
Password: xxxxxxx
Repeat password: xxxxxxx
Изменить контроллер так user.username принимает значение user.email (поскольку электронные письма будут уникальными).
- 1. Ошибка регистрации регистрации FOSUserBundle
- 2. Добавить роль по умолчанию при регистрации пользователя с FOSUserBundle
- 3. Регистрация пользователя с помощью FOSUserBundle без регистрации пользователя в
- 4. Регистрация регистрации формы FOSUserBundle
- 5. FOSUserBundle Подтверждение после регистрации
- 6. Symfony2 FOSUserBundle пользовательское поле регистрации
- 7. События FOSUserBundle Symfony2 по регистрации и входа
- 8. Override Форма регистрации FOSUserBundle
- 9. Несколько форм регистрации с FOSUserBundle
- 10. FOSUserBundle: обновить объект после регистрации
- 11. Сообщение об ошибке при регистрации зарегистрированного пользователя в fosuserbundle
- 12. FOSUserBundle do action после подтверждения регистрации пользователя ius
- 13. Symfony2: FOSUserBundle - SQLSTATE [23505]: Уникальное нарушение: при регистрации пользователя
- 14. FOSUserBundle регистрации: targetUrl не существует
- 15. Отключил пользователя по умолчанию на FOSUserbundle
- 16. подтверждение не отправлено после регистрации в FOSUserBundle
- 17. FOSUserBundle - проверка правильности ввода имени пользователя, пароля или электронной почты
- 18. symfony2: Удаление имени пользователя из регистрационной формы FOSUserBundle не работает
- 19. FOSUserBundle - PHPUnit - Макет пользователя
- 20. Извлечение имени пользователя из facebook - без регистрации
- 21. Придумать подтверждение имени пользователя во время регистрации
- 22. Сохраните ту же сессию после регистрации FOSUserBundle
- 23. переопределить логин fosuserbundle включить опцию регистрации
- 24. FOSUserBundle: имя пользователя vs usernameCanonical
- 25. FosUserBundle и пользовательская регистрация пользователя
- 26. Ошибка в форме регистрации представить FOSUserBundle
- 27. Различные формы регистрации для разных ролей. FOSUserBundle
- 28. Обновление конкретного пользователя FOSuserbundle
- 29. Найти пользователя в Laravel по имени пользователя
- 30. FOSUserBundle аутентифицировать выбранного пользователя
Вы имеете в виду одно и то же имя пользователя или его имя и фамилию? – dmnptr
Я имею в виду имя пользователя – Momo1987
Имя пользователя должно быть уникальным. – dmnptr