我的Laravel项目中有一个表单。当用户尝试提交此表单时,我想显示一个对话框询问他们的密码(为了额外的安全性)。 即我希望登录用户在他/她想要做一些关键操作并验证密码时输入他/她的密码。
我可以弄清楚这个的前端部分,但我不知道如何实现相同的控制器逻辑。
从文档中我发现Auth::check()
但它只检查当前用户是否已登录。
我该怎么做呢?
答案 0 :(得分:4)
您可以向登录用户询问密码,然后使用check()
方法手动检查,例如:
if (Hash::check(request('password'), auth()->user()->password))
第一个参数是用户输入的密码。第二个参数是来自DB的哈希密码。
答案 1 :(得分:1)
我实际上计划在我的一个网站上实现这一点。最近,我一直在考虑规划,这就是我所经历的:
REAUTH_SUCCESS
),如果存在,请继续。否则,请返回并单独使用密码字段打印登录表单。在此之后,只需要做@Alexey和@Robert在答案中提出的建议。希望这有帮助。