首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Symfony2自动使用FOSUserBundle登录

使用Symfony2自动使用FOSUserBundle登录
EN

Stack Overflow用户
提问于 2014-01-30 14:05:28
回答 1查看 4K关注 0票数 2

我已经在我的Symfony2应用程序中创建了一个个人注册机制(使用FOSUserBundle),除了常规注册之外,它还存在。

在我创建用户并将其持久化到数据库之后,是否有任何方法可以自动登录当前用户。在此之后,用户将被重定向到需要登录用户的页面(由于自动登录,用户可以访问该页面)?

这基本上是我创建用户的方法:

代码语言:javascript
复制
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()
    ));
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-30 14:15:14

注意:这似乎不再适用于Symfony3了。

answer引用到duplicate question

代码语言:javascript
复制
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;

$user = //Handle getting or creating the user entity likely with a posted form
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
$this->get('security.context')->setToken($token);
$this->get('session')->set('_security_main',serialize($token));
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21458648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档