有时候某个模块是需要用户登录后才能访问的,但是登录后,通常处理情况是,跳转到用户主页,这时用户要到达原来的
页面,还要再次进行点击,影响用户体验。比如发布一条信息,我想要的结果是,登录后直接达到发布页面。用
symfony可以这样来处理。
复制内容到剪贴板
代码:
public function executeLogin()
{
//This captures the referer's uri
$referer = sfRouting::getInstance()->getCurrentInternalUri(true);
if ($this->getRequest()->getMethod() != sfRequest::POST)
{
$this->getRequest()->getParameterHolder()->set('referer', $referer);
}
}
public function executeChecklogin()
{
//if the referer isn't set, set it to the home page
$referer = $this->getRequestParameter('referer', '@homepage');
//if the referer is the login page itself, refer to the home page
if($referer == 'user/login') $referer = '@homepage';
return $this->redirect($referer);
}