laravel - Laravel - 在中间件中删除 Cookie
问题描述
我的项目中有一个中间件,可以调用每个请求。它将检查 Request 是否有特定的 cookie,然后删除另一个 cookie。但似乎 Cookie 在响应中返回之前不会被遗忘或设置在 Laravel 中。这样
的事情return response('view')->withCookie($cookie);
在中间件中是不可能的。
我也试过Cookie::queue(Cookie::forget('myCookie'));
没有发生任何事情,cookie 显示在我的浏览器中。
这是我的中间件句柄方法:
public function handle(Request $request, Closure $next)
{
if (! $request->cookie('clear_token')) {
cookie()->forget('access_token'); # not worked
Cookie::queue(Cookie::forget('access_token')); # not worked
}
return $next($request);
}
解决方案
您也可以更改中间件中的响应:
https://laravel.com/docs/5.0/middleware
<?php namespace App\Http\Middleware;
class AfterMiddleware implements Middleware {
public function handle(\Illuminate\Http\Request $request, \Closure $next)
{
$response = $next($request);
// Forget cookie
return $response;
}
}
推荐阅读
- android-studio - 单击按钮时如何折叠和展开回收站视图布局?
- sql - 由于版本控制崩溃而丢失记录
- flutter - 如何在 Flutter 中使用 AppSync 公共查询
- database - 添加条件使查询变慢oracle
- javascript - 在 ReactJs 的映射函数中调用子组件
- python-3.x - “rasa init –no-prompt”返回 NotFoundError
- python - Python NEAT 似乎没有向前几代学习
- apache-kafka - 使用 Kafka Listener 与 Kafka Consumer 获取具有指定密钥的消息
- mysql - 如何发送多个选择 sql 查询?
- javascript - [Vue 警告]:v-on 处理程序中的错误:“InvalidStateError:尝试使用不可用或不再可用的对象”