2014-02-05 3 views
0

Я хотел бы знать, как показать пользователю другую страницу, когда он войдет в систему после заполнения формы доступа. Я, судя по всему, должен сделать это в моем loginAction, но я не знаю, как это сделать.symfony2 loginAction different render

Мой loginAction заключается в следующем:

public function loginAction() 
{ 
    $request = $this->getRequest(); 
    $session = $request->getSession(); 

    $error = $request->attributes->get(
     SecurityContext::AUTHENTICATION_ERROR, 
     $session->get(SecurityContext::AUTHENTICATION_ERROR) 
    ); 
    return $this->render('UsuarioBundle:Default:login.html.twig', array(
          'last_user' => $session->get(SecurityContext::LAST_USERNAME), 
          'error' => $error 
          )); 
} 

Спасибо!

ответ

0

Попробуйте использовать security.context сервис для проверки подлинности является пользователь полностью и если да, то делают другой шаблон:

public function loginAction() 
{ 
    $request = $this->getRequest(); 
    $session = $request->getSession(); 

    $error = $request->attributes->get(
     SecurityContext::AUTHENTICATION_ERROR, 
     $session->get(SecurityContext::AUTHENTICATION_ERROR) 
    ); 

    if ($this->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') === TRUE) { 
     return $this->render('UsuarioBundle:Default:logined.html.twig'); // render other template for fully authenticated users 
    } 

    return $this->render('UsuarioBundle:Default:login.html.twig', array(
          'last_user' => $session->get(SecurityContext::LAST_USERNAME), 
          'error' => $error 
          )); 
} 
Смежные вопросы