我有一个 Laravel 5.2 项目,我将其用作我正在构建的 javascript 客户端的模拟 API。模拟 API 功能稍后将替换为不同的 Laravel 项目。目前,我只需要能够提交 API 调用并获得预期的响应。
在我的模拟 API 中,我将身份验证状态存储在 session 中。
我遇到的问题是我放入 session 中的值在 http 调用之间不会持续存在。
这看起来类似于 a different stackoverflow post I found ,但问题是我已经在我的 API 组中使用了 web
中间件。
我认为这可能是我的存储文件夹的权限(我使用默认的file
session 驱动程序),vagrant是所有者并具有写入权限:
另外,如果这是一个权限问题,我认为它会生成一个运行时错误。
我还缺少什么吗?
编辑
这是Config::get('session')
的内容:
是的,StartSession
类包含在 web
中间件组中:
这是浏览器 session cookie 与在 Web 服务器上创建的 session 文件的对比:
以下是请求的内容:
最佳答案
我遇到了同样的问题,并通过替换使其正常工作
Route::group(['middleware' => ['web']], function () {
...
});
与
Route::group(['middlewareGroups' => ['web']], function () {
...
});
不知道为什么当所有文档都建议我们使用 ['middleware' => ['web']]
关于即使使用 Web 中间件,Laravel 5.2 session 值也不会持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34641229/