在laravel中编辑密码和其他表单字段

时间:2017-05-16 12:11:25

标签: laravel

我有一个用于编辑电子邮件和用户表的其他详细信息的表单。其他详细信息是我添加到用户表的列。

我希望能够编辑密码,我有几个选择。

  1. 在编辑视图中,将密码和确认密码字段留空(密码字段中不显示数据库中的值),并允许用户输入新密码。只有管​​理员才能编辑用户,因此我没有输入旧密码功能。

  2. 将bcrypt加密密码解密为纯文本,并在密码字段中填写原始文本密码,并将表单字段更改为文本而不是密码。

  3. 使用存储在用户密码的密码字段中的bcrypt字符串填充密码字段。

  4. 是否可以在laravel中解密用户密码?

1 个答案:

答案 0 :(得分:1)

什么阻止您更新密码?

$user->password = bcrypt($newPassword); 
$user->save()

没有充分的理由解密密码或将其保存在纯文本中。事实上,bcrypt禁止你解密它。

直接回答您的问题:选项1是 only 选项。

编辑:第二个问题

  

在与其他表单一起编辑时向用户显示   领域。在编辑表单中,密码字段内的内容是什么?该   密码格式的黑点(字符)或明文或密码   来自用户表的长bcrypt哈希?。

你可以把你想要的东西放在那里吗?你可以把它留空,或者你可以显示星星,点,等等。重要的是你如何在后端请求中处理它。

将它留空,这样你就可以直接检查后端是否有任何东西被放入现场:

if($request->has('new_password') {
    // update password
}