关于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,
```

效果:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM