【发布时间】:2016-04-11 00:31:16
【问题描述】:
我有一个 Laravel 5.2 项目,我将其用作我正在构建的 javascript 客户端的模拟 API。稍后将用不同的 Laravel 项目替换模拟 API 功能。现在,我只需要能够提交 API 调用并获得预期的响应。
在我的模拟 API 中,我将身份验证状态存储在会话中。
我遇到的问题是我放入会话中的值在 http 调用之间没有持久化。
这似乎类似于a different stackoverflow post I found,但问题是我已经在我的 API 组中使用了web 中间件。
我认为这可能是我的存储文件夹的权限(我正在使用默认的file 会话驱动程序),vagrant 是所有者并且具有写入权限:
另外,如果是权限问题,我认为它会产生运行时错误。
我还有什么遗漏的吗?
编辑
这是Config::get('session')的内容:
是的,StartSession 类包含在 web 中间件组中:
这是浏览器会话 cookie 与在 Web 服务器上创建的会话文件的对比:
这是请求的内容:
【问题讨论】:
-
Config::get('session')输出了什么,storage中是否正在创建文件,您是否检查过会话中间件是否包含在 web 组中? -
我用这两个问题的答案更新了我的问题。
-
清除
storage/framework/sessions的内容并登录。您看到创建的文件了吗? -
是的,会话文件已创建。还有一些有趣的东西;每次我刷新浏览器时,都会创建一个新的会话记录。它不应该创建和重用一个吗?
-
在 github 上添加了问题,github.com/laravel/framework/issues/11874
标签: laravel session laravel-5.2