Laravel |询问某些操作的密码

Laravel | ask password for certain actions

我的 Laravel 项目中有一个表单。当用户尝试提交此表单时,我想显示一个对话框询问他们的密码(以提高安全性)。 即当 he/she 想要执行一些关键操作并验证该密码时,我希望登录用户输入 his/her 密码。

我能搞清楚前端部分,但我不知道如何实现相同的控制器逻辑。

我从文档中找到 Auth::check(),但它只检查当前用户是否登录。

我应该怎么做?

您可以要求登录用户输入密码,然后使用check()方法手动检查,例如:

if (Hash::check(request('password'), auth()->user()->password))

第一个参数是用户输入的密码。第二个参数是来自数据库的散列密码。

我实际上正计划在我的一个网站上实现这一点。最近,我一直在思考计划,这就是我的想法:

  1. 当用户访问应用程序时,he/she 登录
  2. He/she 将部分商品添加到购物车。用户已经被授权,所以这不是问题。
  3. 当 he/she 尝试结帐时,检查是否存在非常具体的会话项目(例如 REAUTH_SUCCESS),如果存在,则继续。否则,返回并单独打印带有密码字段的登录表单。在此之后,只需按照@Alexey 和@Robert 在他们的回答中建议的去做即可。

希望对您有所帮助。