我已经开始在 Laravel 11 中使用 MongoDB 制作网站来存储其数据库,但在管理登录表单本身中出现 CSRF 令牌 419 错误。
我的带有 csrf 令牌的表单操作如下:
<form action="{{ url('admin/login') }}" method="post">@csrf
并且给出以下 419 错误:
419 PAGE EXPIRED
这与我在 Laravel 10 中遵循的方法相同,但没有发现任何问题。
解决此问题的唯一方法是在
admin/login
文件中添加路线 app.php
,如下所示:
->withMiddleware(function (Middleware $middleware) {
$middleware->validateCsrfTokens(
except: ['admin/login']
);
})
但这不是解决方案,也不可行将所有路由添加到 espace CSRF 令牌并绕过安全性。
为了解决此问题,我已将
SESSION_DRIVER
文件中的 file
更新为 .env
。
因此只需要在
.env
文件中进行微小的更改,如下所示:
更换
SESSION_DRIVER=database
与
SESSION_DRIVER=file