关于laravel无法获取session的问题解决

关于laravel无法获取session的问题解决

情况一、前端如果使用axios,需要开启withCredentials:true,并且在后端配置头信息

头信息参考:

$origin = 'http://127.0.0.1:80,http://127.0.0.1:81';    //多个用‘,’隔开
header('Access-Control-Allow-Origin:' . $origin);       //axios请求时,不让用‘*’
header('Access-Control-Allow-Credentials: true');       //是否支持cookie跨域
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');    //laravel需要的提交方法
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

情况二、检查session是否成功生成,可以看看session文件是否生成(默认session目录:storage/framework/sessions/)

注意:session()->put()后需要session()->save()才会生成session文件


情况三、 如果跨路由访问,还需要检查路由模块是否开启session中间件,没有就手动添加

打开:app/Http/Kernel.php,在里面添加session的中间件

```
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
```

效果:

posted @ 2020-04-26 23:54  ranblogs  阅读(1491)  评论(0)    收藏  举报