我試圖在hook_user_presave()
沒有散列的情況下獲得密碼值,創建用戶時我可以做到這一點,我只是在$account
變量中得到它。但是當我編輯用戶時,由於$account
從數據庫獲得的數據在hash中傳遞到$account
。那麼我怎樣才能獲得簡單的密碼值?如何在Drupal 7中獲取密碼值?
這裏是我的鉤:
function hook_user_presave(&$edit, $account, $category) {
if (isset($account->pass)) {
$edit['field_clean_pass']['und'][0]['value'] = $account->pass;
}
}
你在做什麼,需要純文本密碼?您確定用戶實際上是以您正在保存的表單輸入密碼嗎?如果他們沒有輸入密碼,沒有合理的方式來獲取純文本版本的密碼,因爲它根本沒有存儲... – DCoder 2014-10-01 14:28:37
管理員需要查看用戶密碼,因爲他可以輸入爲數據庫中的任何用戶... – nowiko 2014-10-01 14:30:54
純文本密碼未保存在數據庫中,只有散列和鹽漬版本。 – DCoder 2014-10-01 14:32:16