【发布时间】:2020-09-28 22:37:17
【问题描述】:
我在 Laravel 5.7 多重身份验证中遇到问题419 page expired。如果我尝试在同一个浏览器中但在不同的选项卡中登录用户和管理员。就像在一个选项卡中打开了用户登录屏幕,在第二个选项卡中打开了管理员登录屏幕。首先,我尝试用普通用户登录,用户登录成功。但是当我转到第二个选项卡并尝试登录管理员用户时,在这种情况下会出现 419 页面过期错误。但是,如果我在管理员登录尝试之前刷新第二个选项卡意味着管理员登录页面,那么管理员可以正常工作并成功登录而没有任何错误(419 页面已过期)。你能帮我解决这个问题吗?我已经在表单中发送@csrf 令牌。
【问题讨论】:
-
除非您使用 Firefox 的容器或两种不同的浏览器,否则您通常无法在不同的选项卡中以不同的用途登录。当您在第二个选项卡上登录时,第一个选项卡中的 CSRF 令牌将失效。
-
以
Incognito模式打开另一个选项卡。然后登录 -
发布您的身份验证配置
-
基本上我为每种用户类型使用不同的防护,每个用户对所有操作(如登录、注册和忘记密码)都有不同的控制器和路由。视图也不同,我想在同一个浏览器的两个不同选项卡中登录用户和管理员
-
这是一个常见的场景。看这里,stackoverflow.com/a/57095026/8135271
标签: php laravel laravel-5.7