【问题标题】:Laravel - Change Password issueLaravel - 更改密码问题
【发布时间】:2020-08-13 22:12:23
【问题描述】:

我目前在我的 laravel 应用程序中有一个功能,管理员可以通过在创建用户时填写特定字段来创建新用户帐户,它默认密码值为 password 并作为哈希存储在数据库中。

我为密码添加了一个 vue 组件,因此管理员可以选择在创建时更改为自定义密码。

我的问题是当我想添加自定义密码然后在创建用户时单击提交然后尝试登录自定义密码没有改变但我仍然可以使用默认密码登录。

存储方法

 public function store(Request $request)
{
    $data = $request->all();
    $data['name'] = $data['first_name'] . ' ' . $data['last_name'];
    $data['password'] = bcrypt('password');
    $data['change_password'] = true;

    $user = User::create($data);

    session()->flash('success', 'User created successfully.');

    return back();
}

我的猜测是自定义输入的密码没有存储在默认密码之上?请问我能得到一些帮助吗?

【问题讨论】:

  • 我可能在这里失明了,但是更新密码的服务器的表单元素/提交事件在哪里?你的 vue 组件是更大的 html 表单的一部分吗?

标签: laravel vue.js


【解决方案1】:

您正在静态分配密码。

$data['password'] = bcrypt('password');

你需要把它改成这个。

$data['password'] = bcrypt($request->password);

【讨论】:

  • 好的,如果我输入一个自定义密码可以更改,谢谢,但是如果管理员不选择自己创建自定义密码,有没有办法将密码设置为静态值?
  • bcrypt($request->password ? $request->password : 'password');
猜你喜欢
  • 2021-02-09
  • 2020-01-25
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-03-26
  • 2017-12-07
  • 2016-10-24
  • 1970-01-01
相关资源
最近更新 更多