FOSUserBundleに記述されているようなユーザー名と同様に、ユーザーが自分の電子メールでログインできるようにしたいと思います。正常に動作しますが、PUGXMultiUserBundle を使用すると動作しません。
app/config/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) の 1 つを登録しているので、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.