请教一个 laravel 的 session 和跳转一起使用的问题

2016-12-30 23:02:01 +08:00
 muziyue

我在 callback 页面存了 session ,之后跳转到了首页

$request->session()->put('wechat_user', $user->toArray());
return redirect('web/home.html');

另一页面

$request->session()->get('wechat_user', false)

值是 false ,如果注释掉跳转,第二页就可以正常获取到用户信息, session 驱动是 file ,是因为 session 存储完毕之前就跳转的原因么?

2929 次点击
所在节点    PHP
4 条回复
ss098
2016-12-30 23:05:25 +08:00
是的,使用 Redirect 会导致无法存储会话,以前让我纠结了半天。
jellybool
2016-12-31 00:12:19 +08:00
> 使用 Redirect 会导致无法存储会话

从我的记忆来看,这个应该是错的。 redirect 跟 session 应该没有什么关系。这样使用出错基本上就是哪里不对吧,以下代码亲测可用:

```php
session()->put('laravist','laravist.com'); // 广告, laravist.com 是一个学习 laravel 的好地方

return redirect('/session');


Route::get('session',function (){
return session()->get('laravist');
});

```
cloudyplain
2016-12-31 04:25:16 +08:00
手动 save 下
zlink
2017-01-23 15:25:47 +08:00
@jellybool 同样的问题,跳转至后 session 失效,在返回数据的 header 中根本就没有 set-cookie
问题直接导致了无法登陆。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX