有时,当AND te.fbId = ?
Cookie过期且我仍在页面上时,我会登录并收到laravel_session
错误。这是可以理解的。
我想处理这种情况,例如通过向用户显示某种错误并重定向。如果可能的话,我想只为登录请求捕获它。
主要问题是CSRF令牌由全局中间件检查,因此在我可以在控制器操作中使用TokenMismatchException
块处理错误之前抛出错误。
另一个问题是try-catch
目录中的 VerifyCsrfToken.php ,如下所示:
app/Http/Middeware
我无法看到如何使用上面的代码来捕获class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
];
}
。好像我只能排除特定的URI。
我有什么方法可以做到吗?
答案 0 :(得分:2)
转到 app \ Exceptions \ Handler.php 并按以下方式测试:
//Add this to render() method:
if ($exception instanceof TokenMismatchException) {
return $this->handleTokenMismatchException($exception);
}
// then...
protected function handleTokenMismatchException(TokenMismatchException $exception) {
// What you gonna do about it e.g. return redirect('/somewhere');
}