我使用的是symfony 4.1和fosuserbundle 2.1,我可以编辑我的个人资料(firstName和lasTname ....),但是如果通过现有的电子邮件来更改我的电子邮件,则会收到错误消息,指出该电子邮件已被使用,当我单击另一个链接以取消编辑配置文件,我发现该会话已丢失,并且将我重定向到登录表单。 我已经更新了所有依赖项,但错误仍然存在。
编辑: 经过一些测试,问题来自用户实体中的此方法:
public function setEmail($email)
{
parent::setEmail($email);
$this->setUsername($email);
}
实际上,我已经从ProfileFormType中删除了用户名,并为其提供了电子邮件的值。 注册也可以正常工作,而编辑配置文件也可以正常工作,即使不是通过现有的电子邮件更改电子邮件也可以。 但是如上所述,如果我在编辑个人资料时放入现有电子邮件,会话将会丢失。