Laravel |询问某些操作的密码

问题描述 投票:4回答:2

我在Laravel项目中有一个表格。当用户尝试提交此表单时,我想显示一个对话框询问他们的密码(为了额外的安全性)。即我希望登录用户在他/她想要做一些关键操作并验证密码时输入他/她的密码。

我可以弄清楚这个的前端部分,但我不知道如何实现相同的控制器逻辑。

从文档我发现Auth::check()但它只检查当前用户是否登录。

我应该怎么做呢?

php laravel authentication laravel-5.4
2个回答
4
投票

您可以向登录用户询问密码,然后使用check()方法手动检查,例如:

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

第一个参数是用户输入的密码。第二个参数是来自DB的哈希密码。


1
投票

我实际上计划在我的一个网站上实现这一点。最近,我一直在考虑规划,这就是我所经历的:

  1. 当用户访问应用程序时,他/她登录
  2. 他/她将一些项目添加到购物车。用户已经被授权,所以这不是问题。
  3. 当他/她试图结账时,检查是否存在非常具体的会话项目(例如REAUTH_SUCCESS),如果存在,请继续。否则,请返回并单独使用密码字段打印登录表单。在此之后,只需要做@ Alexey和@Robert在答案中提出的建议。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.