symfony2: регистрация без регистрации пользователя в PUGXMultiUserBundle из FOSUserBundle
Мне нужно отключить поведение по умолчанию при регистрации нового пользователя после регистрации. Я знаю, что это вопрос FOSUserBundle, но я использую PUGXMultiUserBundle, который переопределяет контроллер по умолчанию.
class RegistrationUserTwoController extends Controller
{
public function registerAction()
{
return $this->container
->get('pugx_multi_user.registration_manager')
->register('Acme\UserBundle\Entity\UserTwo');
}
}
Любой ответ будет оценен.
1 ответ
Тем не менее использование MultiUserBundle, вы все равно должны переопределить FosUserBundle по умолчанию AuthenticationListener
которая занимается аутентификацией пользователей во время FOSUserEvents::REGISTRATION_COMPLETED
а также FOSUserEvents::REGISTRATION_CONFIRMED
События:
Класс находится здесь: vendor/friendsofsymfony/user-bundle/FOS/UserBundle/EventListener/AuthenticationListener.php
Вы можете использовать этот класс как основу вашего собственного слушателя, и использовать fos_user.listener.authentication
в качестве идентификатора службы среди parameters
в вашем комплекте services.yml
файл настройки вашего класса.
parameters:
fos_user.listener.authentication: Acme\FooBundle\Authentication\MyAuthenticationListener
Если вы не знакомы с переопределением службы, этот учебник поможет вам:
http://symfony.com/doc/current/cookbook/bundles/override.html