Laravel 5.5在会话中切换用户

时间:2018-04-27 12:37:54

标签: php laravel amazon-web-services session laravel-5

我做了一个简单的行动'充当这个用户' for aplication adminis。 它看起来像这样:

  1. 退出当前用户

  2. 以指定用户身份登录

  3. set' shared_cookie'基于新的当前用户(\ App \ Auth \ AuthUser :: getUserData()获取基于Auth :: user()的准备数据)

    public function actAsUser(Request $request, $id)
    {
      Auth::guard()->logout();
      $request->session()->invalidate();
      \Cookie::queue(\Cookie::forget('shared_cookie'));
    
      $id = \Hashids::decode($id)[0];
      $user = User::find($id);
    
      Auth::guard()->login($user);
      \Cookie::queue(\Cookie::make('shared_cookie', \App\Auth\AuthUser::getUserData(), config('session.lifetime') , null, config('app.cookie_shared_domain'), false, false));
    }
  4. 它应该有用,但不完全。 结果是随机的!

    ' shared_cookie'始终设置正确,但在下一个请求中,Auth :: user()随机返回旧用户或新用户。

    有时看来,这取决于用户,但并不完全......

    有什么想法吗?请帮忙!

0 个答案:

没有答案