我正在製作一個CakePHP 2.2.3應用程序,它需要依賴其他現有的應用程序來獲取其登錄信息。用戶名/密碼組合存在於另一個數據庫/服務器上,並且我已經設置了我的CakePHP應用程序,以在他們第一次登錄到我的界面時創建新用戶。過程如下:CakePHP 2散列隨時間變化?
- 用戶首次登錄,提供用戶名爲&的密碼。 CakePHP用戶記錄尚不存在
- 系統檢查用戶名是否存在於另一端
- 如果用戶確實存在,那麼我們提取密碼並比較密碼以查看是否存在他們匹配。
- 如果密碼匹配,哈希什麼是已經提供和保存用戶記錄
- 登錄新創建的用戶
這解決了一些問題對我們來說,主要有用戶登錄多個地方做某些事情。
我的問題似乎是,CakePHP在散列密碼時得到的值似乎隨着時間而改變。因此,他們不是用用戶的密碼登錄用戶,而是在他們登錄後的第二天創建新的用戶記錄。我遇到了一個問題,我昨天無法使用特定用戶登錄...所以我查看了什麼login()操作看到密碼的哈希值爲。
特定用戶的密碼是 '道路'
昨天,哈希是:988042d7f4e62760238d895472ecaf1844094f9f
今天,當我哈希道路,我得到:a8318e7bbe8ee5efc59f53b4ede4d80dc0495c6d
我真的不知道在哪裏開始尋找,看看爲什麼會發生。爲了讓我的開發向前邁進,我所能做的就是更改我想要登錄的用戶記錄的密碼的哈希值。這是第二天我會這樣做。有什麼我可以做的錯誤的安全哈希或salt值在config/core.php?
我很想之一:
- 弄清楚爲什麼哈希正在改變
- 更改驗證組件使用其他數據庫登錄用戶
但我不是確定從哪一個開始
1.我從來沒有聽說過它自己的哈希變化。你和另一個開發人員在工作和上傳2個差異嗎? core.php文件的版本? 2.讓我們看看你用來獲取散列版本「道路」的代碼。 3.你使用的是什麼蛋糕版本? –
在app/Config/core.php中定義了salt。它說Configure :: write('Security.salt','xxxxx ...');但它總是一樣的。 – Alvaro
暫時記錄傳遞給[Security :: hash](http://api20.cakephp.org/view_source/security#line-86)的參數,他們可能會說。例如,也許一個函數/動作使用不同的哈希算法或甚至不同的鹽。最後,如果你寫一些單元測試,他們可能會揭示發生了什麼。 – jeremyharris