Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Automatyczne logowanie po rejestracji
Forum PHP.pl > Forum > PHP > Frameworki
mundeck
Jak w Symfony 3.4 zrobić, aby użytkownik był automatycznie zalogowany po rejestracji? Do tej pory miałem tak, że przekierowywało na stronę logowania, ale w wielu serwisach dla wygody użytkownika jednak stosuje się automatyczne logowanie.
Próbuję to zrobić przez utworzenie i zapisanie nowego tokena.

Moja metoda rejestrująca wygląda tak:

  1. public function registerAction()
  2. {
  3. /** @var Request $request */
  4. $request = $this->get('request_stack')->getCurrentRequest();
  5.  
  6. $registerHelper = $this->get('app.helper.app.register');
  7.  
  8. $formData = $registerHelper->createFormData();
  9.  
  10. $form = $this->createForm(RegistrationType::class, $formData, [
  11. 'validation_groups' => ['registration']
  12. ]);
  13.  
  14. $form->handleRequest($request);
  15.  
  16. if($request->getMethod() == 'POST' && $form->isValid())
  17. {
  18. /** @var User $user */
  19. $user = $registerHelper->processForm($formData);
  20.  
  21.  
  22. /** @var TokenStorageInterface $tokenStorage */
  23. $tokenStorage = $this->get('security.token_storage');
  24.  
  25. $token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles());
  26.  
  27. $tokenStorage->setToken($token);
  28.  
  29. if ($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY'))
  30. {
  31. return $this->redirect($this->generateUrl('customer_index'));
  32. }
  33.  
  34. return $this->redirectToRoute('app_login');
  35.  
  36. }
  37.  
  38. return $this->render('AppBundle:homepage:register.html.twig', [
  39. 'form' => $form->createView(),
  40. ]);
  41. }


Niestety zwraca mi 500. Jak wywalę to isGranted() - to samo.
aras785
Cześć.

Sprawdź tu:
https://stackoverflow.com/questions/5886713...-authentication
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.