Używanie najnowszych Symfony i FOSUserbundle, po pomyślnym zarejestrowaniu nowego użytkownika, użytkownik jest automatycznie zalogowany. Chcę temu zapobiec. Mój powód jest taki, że tylko specjalny użytkownik powinien mieć możliwość zarejestrowania nowych użytkowników.Wyłącz automatyczne logowanie po rejestracji w FOSUserbundle Symfony
Chyba muszę zastąpić registerAction w RegisterController pakietu, ale nie wiem jak.
Próbowałem: http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_controllers.html, ale wydaje się być nieaktualne, żaden użytkownik nie jest tworzony za pomocą tej metody.
Wszelkie wskazówki są mile widziane.
Edit:
I okazało się, że nie poprawnie tworzyć wiązkę dzieci. Musiałem również stworzyć własne EventListener. Działa teraz, gdy nadpisuję zdarzenie FOSUserEvents::REGISTRATION_SUCCESS
.
Dziwne jest to, że kiedy używam zdarzenie FOSUserEvents::REGISTRATION_COMPLETED
, wysyłane są oba zdarzenia, mój pakiet i FOSUserbundle, tak że użytkownik jest przekierowywany do właściwej witryny, ale zalogowany jako nowy użytkownik.
Edit 2:
Tak to jest w moim słuchacza:
public static function getSubscribedEvents()
{
return array(
FOSUserEvents::REGISTRATION_SUCCESS => 'onRegistrationSuccess',
FOSUserEvents::REGISTRATION_COMPLETED => 'onRegistrationCompleted',
);
}
public function onRegistrationSuccess(FormEvent $event)
{
$url = $this->router->generate('admin');
$event->setResponse(new RedirectResponse($url));
}
public function onRegistrationCompleted(FilterUserResponseEvent $event)
{
}
ustawić przekierowanie w przypadku REGISTRATION_SUCCESS
i REGISTRATION_COMPLETED
jest pusty. Za pomocą debuggera mogę sprawdzić, czy zdarzenie mojego odbiornika jest wywoływane, ale wywoływane jest także oryginalne zdarzenie.
Dokumenty wyglądają dobrze. Istnieje wiele sposobów nadpisania pliku pakunków. Czy tworzysz "dziecko" użytkownika, tak jak w dokumentach? czy coś innego? Ponadto, jeśli jesteś administratorem, aby móc tworzyć użytkowników, może strona rejestru FOSuserBundle jest niewłaściwa? Z pewnością tworzenie CRUD do zarządzania użytkownikami za zaporą administratora byłoby lepsze? – DevDonkey
@DevDonkey: Miałeś rację, nie udało mi się poprawnie utworzyć pakietu. Wydaje się teraz działać. Być może stworzenie CRUD byłoby łatwiejsze. – dev0
fajne, cieszę się, że to załatwiłeś. – DevDonkey