2011-04-07 110 views
0

HI,驗證在CakePHP

我有一個內置的身份驗證蛋糕PHP的一個問題 - 我無法登錄...

1)用戶通過應用程序的控制面板添加和使用$這個 - 哈希> auth->密碼( 'XXX') - 我已經檢查它corrent在分貝

2)安全性的鹽的活動沒有用戶/登錄數據[ '用戶'] [ '密碼' emtpy

3) ]是空的,但在beforefilter()中它不是空的。主要的是它在某個機器上工作。

4)db的表用戶有字段用戶名和密碼以及其他字段。

當我試圖登錄一個空白的屏幕後出現在我面前。

+0

空白屏幕表示您正在使用SecurityComponent並可能與螢火蟲中的表單混淆。聽起來像是要求被黑洞。你還可以確保調試已打開,以便顯示任何錯誤 – dogmatic69 2011-04-07 10:48:10

回答

1

事實上,它只在某些機器上工作,正如您所提到的,會導致我查看瀏覽器是否存儲cookie。我相信在認證之後,Cake會設置一個cookie,然後試圖檢索它 - 可能在這種情況下失敗。

0

爲什麼使用$ this-> Auth-> password('xxx');當蛋糕事實自動做到這一點?你在散列哈希?

你可以在一些代碼中鏈接,因爲它應該很簡單,例如:function login(){}並且可以與AuthComponent一起使用。

+0

不,我很抱歉。我正在使用$ this-> Auth-> login($ this-> data)在函數login()內的users_controller。 – vikram 2011-04-07 10:13:59

+0

這就是@ dogmatic69和我的意思是,你最有可能重新哈希散列,因爲CakePHP自動散列應用程序中名爲'密碼'的任何字段。 – vindia 2011-04-07 12:16:15

0

你確定存儲在數據庫中的哈希正確嗎?嘗試手動散列密碼並查看它是否與存儲在數據庫中的密碼相同。 Cake會自動使用this->Auth->hashPassword來散列稱爲password的任何表單域,所以如果你自己也散列了密碼,它會被散列兩次,這樣做不起作用。