如果用户已登录,我不希望用户能够登陆此页面,如果他们尝试转到此页面,则应将用户重定向回他/她最初所在的页面。 / p>
我有什么:
public function indexAction()
{
Tag::setTitle('Home');
if($this->component->user->hasSession()){
$this->view->disable();
$this->response->redirect($this->request->getServer('HTTP_REFERER'));
}else{
parent::initialize();
}
}
但是这给了我一个重定向循环错误。感谢您的帮助。
答案 0 :(得分:1)
您必须保存在用户中' session / cookie当前页面,能够重定向到上次访问的页面。当您直接访问页面(没有引用标题),从其他页面访问页面时(您不喜欢将用户从您的网站中删除)或者在登录后立即访问,您的解决方案将失败。
另外,我建议您返回response
而不是停用视图。在标准的Phalcon配置中,一旦您返回响应object
,它就会立即转到send()
,而不会在您的情况下生成视图。
另外,如果用户尚未访问其他页面但已登录,我会调度其他操作。