V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
muziyue
V2EX  ›  PHP

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

  •  
  •   muziyue · 2016-12-30 23:02:01 +08:00 · 3091 次点击
    这是一个创建于 2883 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    另一页面

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

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

    4 条回复    2017-01-23 15:25:47 +08:00
    ss098
        1
    ss098  
       2016-12-30 23:05:25 +08:00 via Android   ❤️ 1
    是的,使用 Redirect 会导致无法存储会话,以前让我纠结了半天。
    jellybool
        2
    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
        3
    cloudyplain  
       2016-12-31 04:25:16 +08:00 via iPhone
    手动 save 下
    zlink
        4
    zlink  
       2017-01-23 15:25:47 +08:00
    @jellybool 同样的问题,跳转至后 session 失效,在返回数据的 header 中根本就没有 set-cookie
    问题直接导致了无法登陆。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1962 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.