laravel中StartSession中间件的问题

Posted 浪迹天涯-阿震

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel中StartSession中间件的问题相关的知识,希望对你有一定的参考价值。

今天使用了laravel的dingoapi插件做了一些功能,但是最后遇到一个问题,我在页面和api的路由组中都加了一个相同的以session为基础的身份验证中间件,然后我以管理员身份登录页面时通过了验证,但是页面的一些数据无法请求到,查看浏览器的network后,发现服务器返回的是身份验证失败,也就是说我通过页面请求可以表明我的身份,异步请求没有表明我的身份,说到底就是请求页面的时候,成功传递了session,异步请求的时候没有成功传递session。

解决方法:

进入app\Http\Kernel里,将$middlewareGroups中的\Illuminate\Session\Middleware\StartSession::class复制到$middleware中。

 

小知识:api有两类认证模式,一类是用session的,一类是用token的,laravel框架默认没有开启api的session模式,需要自己手动更改。

以上是关于laravel中StartSession中间件的问题的主要内容,如果未能解决你的问题,请参考以下文章

laravel session:get获取不到数据怎么办

在同一控制器中以其他方法访问会话数据在 laravel 中不起作用

在 Laravel 中禁用会话

Laravel5.5 实现session配置

CakeSession::_startSession - Elasticache 慢

调用 startSession() 后,chromecast“无法启动应用程序:没有应用程序正在运行”