2011-04-06 109 views
0

我在ovh主機上的cakephp中的身份驗證組件中遇到問題。Cakephp身份驗證組件故障

當我登錄時,沒有會話變量被設置: 的print_r($ this_session)僅顯示:

Array ([Config] => Array ([userAgent] => [time] => 1302122401 [timeout] => 10)) 

這個問題的怪異的一部分,是有時它的工作...我用來連接正確地從我的房子,而不是我的工作。

這是我使用的代碼。它非常簡單。 一個app_controller:

<?php 
class AppController extends Controller { 
     var $components = array("Session","Auth"); 
     function beforeFilter() { 
       $this->Auth->fields = array('username' => 'name', 'password' => 'password'); 
       $this->Auth->loginAction = array('action' => 'login'); 
     $this->Auth->loginRedirect = array('controller' => 'discs', 'action' => 'hello'); 
     $this->Auth->logoutRedirect = '/'; 
       $this->Auth->loginError = 'Invalid name/password combination. Please try again'; 
     } 
} 

?> 

在user_controller:

function login() { 
      } 

    function logout() { 
    $this->redirect($this->Auth->logout()); 
    } 

我嘗試修改會話配置: - 試圖PHP或蛋糕管理 - 從低試圖安全級別設置爲中等 - 試圖改變會話cookie名稱 - 嘗試將checkAgent設置爲false。

有什麼想法?

+0

嘗試從過濾器暫時刪除所有內容,然後嘗試。如果它有效。 – Headshota 2011-04-06 19:21:01

+0

如果我從父過濾器中刪除所有內容,它不會記錄我。如果我只是讓Auth->字段設置,則行爲與以前相同。 – dmn 2011-04-07 11:19:31

回答

0

我不確定,但我猜你的代碼已經正確。 我注意到文件名'user_controller'。是user_controller而不是users_controller? cakephp中的命名約定對於我們防止這種錯誤非常重要。最後,嘗試刪除$this->Auth->loginAction = array('action' => 'login');