2009-09-24 137 views
3

我對不同的用戶使用註冊表單嗎?新用戶登錄後,註冊用戶應該重定向到登錄後頁面。我們使用Auth組件進行身份驗證。在CakePHP中自動登錄

我該怎麼做?

回答

0

我不確定問題是什麼,但它聽起來像是想知道如何在成功登錄後在某處發送用戶。如果這是正確的,試試這個:如果你沒有訪問/admin/whichever_controller/desired_action

$this->Auth->loginAction = array (
    'controller' => 'whichever_controller', 
    'action'  => 'desired_action', 
    'admin'  => true 
); 

管理鍵可能沒有必要。

0

您必須從註冊操作中手動調用登錄方法。

保存在一個陣列的用戶名+非散列密碼,然後後保存這樣的方法調用它:

$data = array('username' => 'user', 'password' => $unhashedPw); 
$this->User->login($data); 
6

如果你想註冊後用戶可以自動登錄,您可以使用AuthComponent的登錄() 方法。

if ($this->User->save($this->data)) { 
    $this->Auth->login($this->data); 
} 
+0

如果您打算使用非內置密碼功能,Auth dosen't的登錄功能會自動手動調用hashPassword函數。 – coolkid 2011-07-09 08:45:47

3

在較新的蛋糕,你只需要添加

$this->Auth->login(); 

添加用戶到數據庫後。