我想允许用户使用电子邮件以及FOSUserBundle中描述的用户名登录。它工作正常,但在使用PUGXMultiUserBundle时,它没有。
应用程序/配置/ config.yml:
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
pugx_multi_user:
users:
user_one:
entity:
class: UserBundle\Entity\Vendor
由于我使用sonata-admin包形式注册我的一个userType(UserBundle \ Entity \ Vendor),我输入UserBundle / Controller / VendorAdminController:createAction()
if($form->isSubmitted()){
$discriminator->setClass('UserBundle\Entity\Vendor');
$userManager = $this->container->get('pugx_user_manager');
$userOne = $userManager->createUser();
$userOne->setUsername($object->getUsername());
$userOne->setEmail($object->getEmail());
$userOne->setName($object->getName());
$userOne->setPlainPassword($object->getPlainPassword());
$userOne->setEnabled(true);
...
}`
此时,一切都很好,当我想用用户名登录时,但当我尝试使用电子邮件登录时,我收到以下错误:
Invalid credentials.