Cakephp身份验证会话在chrome中不工作


Cakephp auth session not working in chrome

我对cakepp的登录功能有问题。当我尝试在chrome下登录时,我的用户名/密码被接受,但会话没有正确存储。我做了一些调试/搜索,发现问题的根源(至少我认为)是会话id没有存储在chrome的cookie中。当我使用firefox时,登录按预期工作,查看cookie会显示名称为"CAKEPHP"的cookie中的会话id。然而,当我在登录/访问页面后查看chrome的cookie时,没有包含会话id的cookie。因此,每次加载页面时,会话id似乎都在更改。几个小时以来,我一直在谷歌上搜索这个问题的解决方案,但没有成功。我确实在http://www.pixelastic.com/blog/273:losing-会话请求cakehpchrome,但使用这个解决方案对我不起作用。我不知道它是否适用于旧版本的cakepp。我使用的是2.0版本。

我会发布我正在使用的登录代码,但我直接从教程中获得了它,所以我并不认为这是问题所在(尤其是因为它在FF中有效):

public function login() {
    Security::setHash('sha1');
    if ($this->Auth->login()) {
        $this->Session->setFlash(__('Welcome'));
        $this->redirect(array('action' => 'index'));
    } else {
        $this->Session->setFlash(__('Invalid username or password, try again'));
    }
}

我的设置出现了问题。如果有人遇到这样的问题:我在虚拟机中运行服务器,问题似乎与虚拟机运行时主机进入睡眠/低功耗模式有关。当主机唤醒时,chrome cookie的问题开始发生。重新启动虚拟机解决了此问题。