Zend framework Zend_身份验证标识在控制器之间不持久

Zend framework Zend_身份验证标识在控制器之间不持久,zend-framework,frameworks,identity,zend-auth,Zend Framework,Frameworks,Identity,Zend Auth,对于Zend框架1.11和条令2来说是相当新的 我已经成功创建了一个登录等使用条令 但我目前的问题是,当我停留在登录所在的控制器内时,Zend_Auth实例工作正常 如果我尝试确定任何其他控制器中Zend_Auth::getInstance->HasIdentity()的状态,它将返回空白 如果我随后返回到控制器中包含登录/身份验证的任何页面,hasIdentity工作正常 我甚至尝试过向存储器写入数据,但这并没有带来任何乐趣 我的身份验证代码如下所示,这是单击“登录”后调用的操作(在Membe

对于Zend框架1.11和条令2来说是相当新的

我已经成功创建了一个登录等使用条令

但我目前的问题是,当我停留在登录所在的控制器内时,Zend_Auth实例工作正常

如果我尝试确定任何其他控制器中Zend_Auth::getInstance->HasIdentity()的状态,它将返回空白

如果我随后返回到控制器中包含登录/身份验证的任何页面,hasIdentity工作正常

我甚至尝试过向存储器写入数据,但这并没有带来任何乐趣

我的身份验证代码如下所示,这是单击“登录”后调用的操作(在MembersareaController中)

尝试查看某人使用以下代码登录IndexController不会产生任何结果。hasIdentity返回一个空值

public function indexAction()
{

    if(Zend_Auth::getInstance()->hasIdentity())
    {
        $msg = "hasIdentity: YES";
    }else{
        $msg = "hasIdentity: NO";
    }

    $this->view->msg = $msg;
}

Zend_会话::rememberMe();在引导数据库中解决了这个问题

您确定PHP会话的cookie设置为正确的域吗?我想你应该用firebugHi验证一下。谢谢你的回复。我已经用Firebug比较了这两个cookie信息,cookie信息是相同的。我注意到有两个不同的cookie用于具有不同PHPSESSION ID的域,并且路径是不同的。其中一个路径设置为“/membersarea”,这是打开auth的控制器,第二个路径设置为“/”,这是主页。
public function indexAction()
{

    if(Zend_Auth::getInstance()->hasIdentity())
    {
        $msg = "hasIdentity: YES";
    }else{
        $msg = "hasIdentity: NO";
    }

    $this->view->msg = $msg;
}