php - Laravel 5.8 在从已清除的会话中单击注销后显示“419 Page Expired”
问题描述
我运行php artisan make:auth命令,然后我将逐步解释之后我要做什么来理解这个场景,
- 登录到新会话(example.com/home)
- 打开一个新选项卡并粘贴 URL,即 example.com/home。
- 现在 2 个选项卡在同一个会话中打开。
- 我从其中一个选项卡中单击了注销,它工作得很好
- 然后,当我尝试从另一个选项卡注销时,它给了我一个错误消息“419 Page Expired”,即使重新加载后它也无处可去。
问题是,可能会出现这种情况,我不想看到这个错误信息,点击注销后注销,即使会话过期。
注意:这个问题不是因为没有添加@csrf
解决方案
嗯,这是一个明显的信息,您也许可以尝试为该页面制作更好的布局,但显示它仍然很好,以便用户知道发生了什么。如果您想以不同的方式处理它,您可以尝试重定向到登录页面。
因此,在app\Exceptions\Handler.php
渲染方法中的文件中添加以下内容:
if ($exception instanceof \Illuminate\Session\TokenMismatchException) {
return redirect()->route('login');
}
推荐阅读
- swift - 如何在 JSON 模型中快速添加自定义变量?
- kotlin - 如何使用 Kotlin 拍摄 webview 的快照
- python - 泛化 3d 位置磁盘采样
- python - 用 scipy generic_filter 和 numpy median_filter 计算移动中值会给出不同的输出
- vba - 带有值列表的近似过滤数据的excel vba代码
- python - 在 Pycharm 中为每个项目安装库
- javascript - 在浏览器中以正确的方式显示 blob
- python - 根据数据框中的列对唯一项目进行分组和提取?
- python - 我如何在新的 tkinter 窗口上显示字典
- android - 如何将 onClickListener 设置为 kotlin 中的按钮