Zend framework Zend:使用电子邮件中的URL登录后重定向到页面

Zend framework Zend:使用电子邮件中的URL登录后重定向到页面,zend-framework,forwarding,Zend Framework,Forwarding,我正在使用Zend,我向所有成员发送了一封电子邮件,其中包含一个帖子链接。只有登录的成员才能发表评论,但所有来宾都可以看到。当然,无论是谁点击电子邮件中的链接,都应该能够立即发表评论。 因此,我想了解一种检查点击链接的会员是否登录的方法:- 如果已登录电子邮件中的URL,则应直接将成员带到帖子中 如果未登录,则将成员转发到登录页面,然后转发到链接中包含的正确URL 我希望我能解释清楚。如果没有请问我。有人能告诉我最好的方法吗 多谢各位。F.创建一个插件,并使用以下命令在会话中保存请求的Uri

我正在使用Zend,我向所有成员发送了一封电子邮件,其中包含一个帖子链接。只有登录的成员才能发表评论,但所有来宾都可以看到。当然,无论是谁点击电子邮件中的链接,都应该能够立即发表评论。 因此,我想了解一种检查点击链接的会员是否登录的方法:-

  • 如果已登录电子邮件中的URL,则应直接将成员带到帖子中
  • 如果未登录,则将成员转发到登录页面,然后转发到链接中包含的正确URL
我希望我能解释清楚。如果没有请问我。有人能告诉我最好的方法吗


多谢各位。F.

创建一个插件,并使用以下命令在会话中保存请求的Uri:

$this->_session->lastUrl = $this->getRequest()->getRequestUri();
然后,在用户输入其凭据后,将其重定向到此保存的URL


另一种选择是保存url并将其作为参数添加到下一个请求中,如Google、Yahoo等。

谢谢Liyali。我会调查的。我看起来很有趣。非常感谢。
public function emailAction()
{
$loggedIn = Zend_Auth::getInstance()->getIdentity();
if($loggedIn)
{
$this->_helper->_forward('post);
}else {

  $this->_helper->_forward('login');
}
}

public function loginAction()
{
 $success = new Zend_Session_Namespace('success');
 if(!isset($success->url)) 
{
  $success->url = $this->view->serverUrl(true);
}
 $form = new Login_Form();
if($this->getRequest()->isPost() && $form->isValid($_POST))
{
$this->_redirect($success->url);
}

}