我试图在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