首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel5.2会话值即使在使用web中间件时也不持久化

Laravel5.2会话值即使在使用web中间件时也不持久化
EN

Stack Overflow用户
提问于 2016-01-06 19:29:34
回答 4查看 6.4K关注 0票数 13

我有一个Laravel5.2项目,我正在为我正在构建的javascript客户端使用一个模拟API。稍后将用不同的Laravel项目替换模拟API功能。现在,我只需要能够提交API调用并得到预期的响应。

在我的模拟API中,我将身份验证状态存储在会话中。

我遇到的问题是,我输入到会话中的值在http调用之间没有持久化。

这似乎与我发现了一个不同的堆叠溢出柱类似,但问题是,我已经为我的API组使用了web中间件。

我认为它可能是对我的存储文件夹的一个权限(我使用的是默认的file会话驱动程序),流浪者是所有者,并且有写访问权:

另外,如果这是一个权限问题,我认为它会生成一个运行时错误。

还有什么东西我遗漏了吗?

编辑

这是Config::get('session')的内容

没错,StartSession类包含在web中间件组中:

下面是浏览器会话cookie与在web服务器上创建的会话文件的截图:

以下是请求的内容:

EN

回答 4

Stack Overflow用户

发布于 2016-03-30 01:23:50

我也有同样的问题,通过替换

代码语言:javascript
复制
Route::group(['middleware' => ['web']], function () {
   ...
});

使用

代码语言:javascript
复制
Route::group(['middlewareGroups' => ['web']], function () {
   ...
});

但是,当所有文档都建议我们使用['middleware' => ['web']]时,不知道为什么会这样。

票数 8
EN

Stack Overflow用户

发布于 2016-01-15 15:05:28

我在5.2上也有同样的问题

我发现如果我在一个组中注册路由和中间件,会话就会工作。

代码语言:javascript
复制
Route::group(['middleware' => ['web']], function () {
    Route::get('aktuell', "SeitenController@getAktuell");
    # other routes ... 
});

但如果我在控制器构造函数中分配中间件,则不会。

代码语言:javascript
复制
function __construct()
{
    $this->middleware('web');
}

(这就是我所期望的方式.)

通过显式保存会话(通过

代码语言:javascript
复制
$request->session()->put("test3",time()."-anna");
$request->session()->save();
票数 1
EN

Stack Overflow用户

发布于 2016-05-10 12:39:36

对我来说,有一件事就是确保config/session.php中的域设置为null。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34641229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档