2012-10-06 29 views
0

當我用來測試$this->Auth->user('id')本地,它運作良好 和文件/app/Config/core有會議

Configure::write('Session', array(
     'defaults' => 'cake' 
    )); 

這種配置現在,它是我的服務器上託管的,我發現我需要改變這個文件, 所以看起來

Configure::write('Session', array(
     'defaults' => 'php' 
    )); 

但這樣做的方式,我失去了$this->Auth->user('id'),其他領域我能找到。

回答

0

你是如何登錄用戶的?

你使用$this->Auth->login($this->data);

如果是這樣,用戶將使用$this->data中的數據登錄,並且此數據將保存在會話中。嘗試debug($this->Auth->user());你可能只會看到用戶名(也可能是密碼)。

要在登錄時檢索所有用戶數據,您需要登錄而不將數據傳遞給AuthComponent。

$this->Auth->login();會爲你做魔術,它會從數據庫中檢索用戶(包括包含)並將這些數據存儲在會話中。

$this->Auth->login();只有在$ this-> data填充正確的憑證時纔有效。

+0

謝謝回答我。其實我意識到當創建用戶時沒有$ this-> Auth-> user('id')。第二次登錄時,出現var Auth-> user('id')。我以爲我可以用Auth-> user('id')創建一個用戶。 –