2012-02-03 70 views
2

我有一個cakephp的登錄功能問題。當我嘗試在chrome下登錄時,我的用戶名/密碼被接受,但會話未正確存儲。我做了一些調試/搜索,發現問題的根源(至少我認爲)是會話ID沒有存儲在chrome的cookie中。當我使用firefox時,登錄按預期工作,並且查看cookie顯示名爲「CAKEPHP」的cookie中的會話ID。但是,當我在登錄/訪問頁面後查看Chrome的Cookie時,沒有包含會話ID的cookie。因此,每次我加載頁面時,會話ID似乎都在變化。我一直在Google上搜索並尋找一個解決方案,好幾個小時沒有運氣。我在http://www.pixelastic.com/blog/273:losing-session-request-cakephp-chrome找到類似的東西,但是使用這個解決方案對我來說並不合適。我不知道它是否適用於舊版本的CakePHP。我正在使用2.0版本。Cakephp auth session not chrome

我會後我使用的登錄代碼,但我把它直接從一個教程,所以我真的不認爲這是問題(特別是因爲它在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')); 
    } 
} 

回答

2

原來是我的設置問題。如果有人有這樣的問題:我在虛擬機中運行服務器,這個問題似乎與虛擬機運行時主機進入睡眠/低功耗模式有關。當主機喚醒時,鉻餅乾問題開始發生。重啓虛擬機解決了問題。