使用fosuserBundle自动登录

时间:2016-12-16 18:25:30

标签: php symfony fosuserbundle autologin

我可以用fosuserBundle自动登录,当他访问页面添加条款时他是自动登录,当他在页面添加文章时,他会自动重定向到登录页面,但我的目标是自动登录

路由:

ajouterapps:
  path:     /ajouterapps
  defaults: { _controller: MedBundle:Apps:ajouter }

代码控制器:

public function ajouterAction() 
{
  $em = $this->getDoctrine();
  $repo  = $em->getRepository("UserBundle:User"); //Entity Repository
  $user = $this->getUser();

  if (!$user) {
    throw new UsernameNotFoundException("User not found");
  } else {
    $token = new UsernamePasswordToken($user, null, "your_firewall_name", $user->getRoles());
    $this->get("security.context")->setToken($token); //now the user is logged in

    //now dispatch the login event
    $request = $this->get("request");
    $event = new InteractiveLoginEvent($request, $token);
    $this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
  }

  $msg = 'ajouter Apps';
  $em = $this->getDoctrine()->getManager();
  $app = new Apps();
  $form = $this->createForm(new AppsType, $app);
  $request = $this->getRequest();

  if ($request->getMethod() == 'POST') {
    $form->handleRequest($request);

    $app->upload(); 
    $em->persist($app);
    $em->flush();
    $msg = 'Apps ajouter avec success';
  }

  return $this->render('MedBundle:Apps:ajouter.html.twig',array(
      'form'=>$form->createView(),
      'msg'=>$msg
    )
  );
}

解决方案是什么,并提前感谢

0 个答案:

没有答案