首页 > 解决方案 > 419 页面在 laravel 5.7 中过期

问题描述

我在 Laravel 5.7 多重身份验证中遇到问题419 页面过期。如果我尝试在同一个浏览器中但在不同的选项卡中登录用户和管理员。就像在一个选项卡中打开了用户登录屏幕,在第二个选项卡中打开了管理员登录屏幕。首先,我尝试用普通用户登录,用户登录成功。但是当我转到第二个选项卡并尝试登录管理员用户时,在这种情况下会出现 419 页面过期错误。但是,如果我在尝试管理员登录之前刷新第二个选项卡意味着管理员登录页面,那么管理员可以正常工作并成功登录而没有任何错误(419 页面已过期)。你能帮我解决这个问题吗?我已经@csrf用表格发送令牌。

标签: phplaravellaravel-5.7

解决方案


在您使用任何角色登录之前,两个页面具有相同的令牌值。(请查看有关 Laravel CSRF 令牌的其他文章)

在此处输入图像描述

在此处输入图像描述

Laravel 会为应用程序管理的每个活动用户会话自动生成一个 CSRF “令牌”。

因此,如果您登录,将启动新的用户会话并重新生成 CSRF 令牌。

这就是为什么您在刷新之前在管理页面上获得 419 的原因。如果你刷新页面,Laravel 会渲染新的 token 值。

请使用 Inspect 功能在您的浏览器上进行测试。


推荐阅读