Po zresetowaniu hasła przez użytkownika za pomocą resetowania hasła FOSUserBundle, domyślnie jest on przekierowywany do FOSUserProfile. Chcę przekierować na inną trasę. Czy to możliwe, a jeśli tak, to w jaki sposób?FOSUserBundle: Cel powodzenia po zresetowaniu hasła
Odpowiedz
Można to zrobić poprzez stworzenie resetowanie subskrybenta:
namespace Acme\UserBundle\EventListener;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
/**
* Listener responsible to change the redirection at the end of the password resetting
*/
class PasswordResettingListener implements EventSubscriberInterface {
private $router;
public function __construct(UrlGeneratorInterface $router) {
$this->router = $router;
}
public static function getSubscribedEvents() {
return [
FOSUserEvents::RESETTING_RESET_SUCCESS => 'onPasswordResettingSuccess',
];
}
public function onPasswordResettingSuccess(FormEvent $event) {
$url = $this->router->generate('homepage');
$event->setResponse(new RedirectResponse($url));
}
}
A potem zarejestrowanie go jako usługa z kernel.event_subscriber
tagu:
# src/Acme/UserBundle/Resources/config/services.yml
services:
acme_user.password_resetting:
class: Acme\UserBundle\EventListener\PasswordResettingListener
arguments: [ @router ]
tags:
- { name: kernel.event_subscriber }
W przypadku, gdy nie jest używany widok profilu użytkownika FOS jest brzydki, ale prosty sposób:
Dodaj swój app/config/routing.yml
:
fos_user_profile_show:
path: /yourpath
Możesz również zadeklarować trasę we własnym kontrolerze o nazwie 'fos_user_profile_show', lepszym niż bezwzględny URL. –
@LouTerrailloune nie ma bezwzględnego adresu URL w powyższej konfiguracji routingu. To może wyglądać, ale to nie jest –
- 1. Sprawdzanie poprawności hasła FOSUserBundle
- 2. Autoryzacja Firebase Auth nie jest aktualizowana po zresetowaniu hasła
- 3. Jak wymusić zmianę hasła za pomocą FOSUserBundle?
- 4. Nieprawidłowy token przy zresetowaniu hasła za pomocą ASP.NET Identity
- 5. Wykonaj kod zaraz po zresetowaniu formularza
- 6. TCP Retransmisja jest kontynuowana nawet po zresetowaniu flagi RST
- 7. Aplikacja aplikacji ASP.Net MVC 3 losowo po zresetowaniu puli aplikacji
- 8. Animacja CSS nie uruchamia się ponownie po zresetowaniu klasy
- 9. Resetowanie połączenia przy zresetowaniu sprężyny
- 10. FOSUserBundle - BadCredentialsException
- 11. Pobieranie hasła po zapisaniu hasła jako wartości mieszania
- 12. FOSUserBundle: Nierozpoznane pole: usernameCanonical
- 13. sprawdzanie powodzenia write.csv w R
- 14. FOSUserBundle BCryptPasswordEncoder solenie
- 15. Tworzenie nowego użytkownika z FOSUserBundle nie
- 16. Symfony2/FOSUserBundle - Przekierowanie po zalogowaniu zgodnie z rolą
- 17. Błąd w fosuserbundle po podwójnym kliknięciu linku potwierdzającego?
- 18. Która metoda jest najlepsza do przekierowania po zalogowaniu w FOSUserBundle
- 19. Wyłącz automatyczne logowanie po rejestracji w FOSUserbundle Symfony
- 20. FOSFacebookBundle i FOSUserBundle
- 21. FOSUserBundle: username vs usernameCanonical
- 22. AndroidKeyStore wymazane po zmianie hasła urządzenia
- 23. CakePHP: Czyszczenie pola hasła po nieudanym przesłaniu
- 24. Devise wylogowuje użytkowników po zmianie hasła
- 25. fosUserBundle wysyła rejestrację email pusty
- 26. Symfony2 - FOSUserBundle - Wiele lokalizacji logowania
- 27. Dodaj łączną cenę na stronie powodzenia kasy
- 28. Zwiększanie stron po każdym przesunięciu Cel-C
- 29. Rails 4, jak złapać ajax: zdarzenie powodzenia
- 30. FOSUserBundle i ACL Business Rola
Uwaga: to rozwiązanie wymaga użycia wersji głównej dla FOS Userbundle. Można osiągnąć podobny wynik przez rozszerzenie kontrolera resetowania i zmianę metody getRedirectionUrl(). –