Я создал индивидуальный механизм регистрации в моем приложении Symfony2 (используя FOSUserBundle), который существует в дополнение к обычной регистрации.Автоматический вход в Symfony2 с FOSUserBundle
Есть ли какой-либо способ - после того, как я создал и сохранил пользователя в базе данных - чтобы автоматически войти в систему этого текущего пользователя. И после этого Пользователь должен быть перенаправлен на страницу, для которой требуется зарегистрированный пользователь (и из-за автоматического входа в систему пользователь может получить доступ к этой странице)?
Это в основном мой метод для создания пользователя:
public function signupAction(Request $request) {
$user = new User();
$form = $this->createFormBuilder($user)
->...()
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// Enable User
$user->setEnabled(true);
// Persist to DB
$em->persist($user);
$em->flush();
// Here I need the auto-login before redirecting to _root
return $this->redirect($this->generateUrl('_root'));
}
return $this->render('MyBundle:MyController:signup.html.twig', array(
'form' => $form->createView()
));
}
Это не работает в Symfony 3.1 –
@AlexeyKosov, работал для меня в Symfony 3.1 с помощью 'security.token_storage' вместо' security.context ' – nowiko
есть более простое и чистое решение с FOSUserBundle: https://stackoverflow.com/a/44386575/592477 – Nico