如果用户已登录并重定向回用户所在的页面,如何禁用页面视图?

时间:2015-08-10 15:34:02

标签: php redirect phalcon

如果用户已登录,我不希望用户能够登陆此页面,如果他们尝试转到此页面,则应将用户重定向回他/她最初所在的页面。 / 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();
    }       
}

但是这给了我一个重定向循环错误。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您必须保存在用户中' session / cookie当前页面,能够重定向到上次访问的页面。当您直接访问页面(没有引用标题),从其他页面访问页面时(您不喜欢将用户从您的网站中删除)或者在登录后立即访问,您的解决方案将失败。

另外,我建议您返回response而不是停用视图。在标准的Phalcon配置中,一旦您返回响应object,它就会立即转到send(),而不会在您的情况下生成视图。

另外,如果用户尚未访问其他页面但已登录,我会调度其他操作。