Laravel 简介
密码确认中间件是在 laravel v6.2.0 中引入的,它内置于 Illuminate/Auth
中,而且你可以在Illuminate/Auth/Middleware/RequirePassword.php文件中找到它
如何工作
它通过查看传入请求的 password_confirmed_at
session 来工作,并根据结果使用 ResponseFactory
构建响应,以使用 JSON 响应或重定向到 password.confirm
路由。如果成功,则它将重定向到原始路由,或者将 $redirectTo
变量设置为失败
默认情况下,如果成功,token 有效期将设置为 3 小时,但是你也可以使用 auth.password_timeout
配置项进行更改
「密码确认」的用法
让我们来做一些假设:首先,假设您有一些用户,这些用户可以更改一些敏感设置,例如,他们可能会更改密码或禁用双向身份验证。
这是你可能想要保护的东西,尤其是如果你让你的用户使用 「记住我」 功能,比如说小红已经设置了 「记住我」 功能,然后她关闭浏览器后走开了,后来小明来了。
小明在您的站点上也有一个帐户,所以他进入您的站点只是为了以小红的身份登录,现在小明出于恶作剧的目的想更改一些敏感设置,但是当他来到 /settings/security/ 路由时,他将被要求输入小红的密码,他不知道,现在小红的敏感设置已经从小明的恶作剧中挽救了回来。
我知道这种方式比较滑稽,但它依旧比较