Laravel 功能测试中发起多次请求(经过自定义 Guard)时的坑
原文中文,约700字,阅读约需2分钟。发表于: 。TL;DR laravel 会缓存 guards,如果你在 guard 中对 $request 做了一些操作,则需要在每次请求前 Auth::forgetGuards(); 正文 这个项目用到一个自定义 Guard,里面有这么一行代码: $this->request->attributes->add(['company' => $company]); 也就是在身份校验通过后 The...
Laravel缓存guards,需要在每次请求前使用Auth::forgetGuards()重置。自定义Guard中通过$this->request->attributes->add(['company' => $company])将变量写入请求中。功能测试中发现只有第一个身份的请求正常,后续身份无法获取company的值。通过auth()->forgetGuards()解决问题。