2011-04-28 50 views
0

我使用Kohana Authlite模塊進行用戶驗證,並且在用戶註冊後,我希望它們自動登錄並最終重定向到頁面(只能通過登錄的用戶)Kohana Authlite在註冊後驗證並登錄用戶

我想下面的代碼:

$authlite = Authlite::instance('authlite'); 

$authlite->login($email, $user->password); 

$this->redirect('Home'); 

但它不工作。任何想法或建議如何做到這一點?

+0

你是什麼意思,這是行不通的?預期什麼與實際發生的事情? – 2011-04-28 12:27:04

+0

用戶沒有登錄,只是重定向到家(在這種情況下,不是一個受限制的頁面,但仍然是,用戶沒有登錄。我想我使用錯誤的authlite類,但我不明白如何使用它) – dana 2011-04-28 15:35:23

回答

1

檢查$user->password是否未經過散列處理。我猜$userORM的實例,所以$user->password本身不是密碼,但它在數據庫中是散列的(在大多數情況下)。你需要用純文本密碼。

+0

我不知道Authlite,但標準Auth模塊有一個'force_login()'方法用於登錄沒有密碼值。 – biakaveron 2011-04-28 13:03:58

+0

嗯......我從帖子中取回密碼,因爲它實際上是在用戶註冊後。關於強制登錄 - 你認爲這是一個好習慣嗎? – dana 2011-04-28 14:52:13

+0

是的,你從郵件中獲取密碼,然後將其保存在數據庫中,然後使用'$ user-> password'。那麼,至少我是這麼認爲的。因此你使用的'$ user-> password'可能被散列。 – egis 2011-04-29 05:09:10