Пользователь FOS переопределяет уникальное ограничение на пользовательское хранилище
Я создал многосайтовое приложение со следующими требованиями: пользователь должен иметь возможность создавать учетные записи на разных сайтах коллекции с одинаковым адресом электронной почты и именем пользователя.
Вот что я сделал:
- Создание UserBundle с FOSUserBundle в качестве родителя
- Добавьте переопределение атрибутов в поля имя пользователя, имя пользователя, электронная почта и электронная почта.
- Отключите начальные группы проверки (регистрация и профиль), переопределив проверку группы.
Точка 2:
/**
* User
* The user class to work with, based on FOSUser one.
* To improve loose coupling, don't forget to link FOS\UserBundle\Model\UserInterface instead.
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="LCH\UserBundle\Entity\UserRepository")
*
* @ORM\AttributeOverrides({
* @ORM\AttributeOverride(
* name="email",
* column=@ORM\Column(
* type="string",
* name="email",
* length=255,
* nullable=false,
* unique=false
* )
* ),
* @ORM\AttributeOverride(
* name="emailCanonical",
* column=@ORM\Column(
* type="string",
* name="email_canonical",
* length=255,
* nullable=false,
* unique=false
* )
* ),
* @ORM\AttributeOverride(
* name="username",
* column=@ORM\Column(
* type="string",
* name="username",
* length=255,
* nullable=false,
* unique=false
* )
* ),
* @ORM\AttributeOverride(
* name="usernameCanonical",
* column=@ORM\Column(
* type="string",
* name="username_canonical",
* length=255,
* nullable=false,
* unique=false
* )
* )
* })
*/
Точка 3
fos_user:
profile:
form:
validation_groups: [Default]
registration:
form:
validation_groups: [Default]
Последние 2 балла достигнуты благодаря этому вопросу.
Но при проверке формы у меня все еще возникает ошибка, сообщающая мне, что адрес электронной почты уже используется.
Моей последней попыткой была попытка переопределить vendor/friendsofsymfony/user-bundle/Resources/config/storage-validation/orm.xml, (где лежит уникальное ограничение), переопределив его в моем дочернем пакете. Это тоже не сработало, и это была просто "отчаянная" попытка, потому что, если бы это сработало, я бы не понял, зачем использовать предшествующие точки.
1 answers
Я, наконец, нашел проблему, которая была почти как обычно между стулом и экраном.
Config.yml ДО
registration:
form:
type: LCH\UserBundle\Form\RegistrationType
profile:
form:
validation_groups: [Default] # Here you can also add your own groups if you have extra validation
registration:
form:
validation_groups: [Default] # Here you can also add your own groups if you have extra validation
Регистрация.ключ формы был определен дважды... После их объединения...
profile:
form:
validation_groups: [Default]
registration:
form:
validation_groups: [Default]
type: LCH\UserBundle\Form\RegistrationType
...Все качается.