我想知道如何在填写访问表单后登录时向用户显示不同的页面。我需要在loginAction中执行此操作,但我不知道如何操作。
我的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 :(得分: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
));
}