laravel Auth :: user()null>会话文件不存在

时间:2019-08-02 00:42:13

标签: laravel authentication session

我知道有几个用户遇到了这个问题,但是没有提供的解决方案似乎对我有帮助。

我制作了一个调试日志来跟踪流和数据:

  1. 登录
  2. 登录后RedirectIfAuthenticated:正确的userData和 角色
  3. LoginController也显示正确的数据>重定向到/ admin
  4. 如果已通过身份验证但再次重定向,但此时所有数据都已清空

我的会话跟踪设置为文件 这是我的日志,但是我不知道会话令牌会发生什么,或者为什么请求突然丢失其数据...我觉得会话存在问题,因为我无法在任何新的会话文件中找到tokenString < / p>

[2019-08-02 00:25:37] production.DEBUG: RedirectIfAuthenticated handle  
[2019-08-02 00:25:37] production.DEBUG: Request array (
  '_token' => 'RNIq0gqNNYIbTshxh9S0f1Jrhowsihap8QzZioJ8',
  'email' => 'xxx',
  'password' => 'xxx',
  'remember' => 'on',
)  
[2019-08-02 00:25:37] production.DEBUG:   
[2019-08-02 00:25:38] production.DEBUG: LoginCOntroller ROLE_ADMIN  
[2019-08-02 00:25:38] production.DEBUG: ok, we have a Role (admin) here goto /admin  
[2019-08-02 00:25:38] production.DEBUG: Request array (
  '_token' => 'RNIq0gqNNYIbTshxh9S0f1Jrhowsihap8QzZioJ8',
  'email' => 'xxx',
  'password' => 'xxx',
  'remember' => 'on',
)  
[2019-08-02 00:25:38] production.DEBUG: correct user
[2019-08-02 00:25:39] production.DEBUG: RedirectIfAuthenticated handle  
[2019-08-02 00:25:39] production.DEBUG: Request array (
)  <<< EMPTY
[2019-08-02 00:25:39] production.DEBUG:   

1 个答案:

答案 0 :(得分:0)

我一直忽略的一件事是重定向路由的去向,以及它是否位于Auth中间件中。如果您在身份验证后重定向到该中间件之外的路由,则会丢失用户和其他所有内容。

检查以确保您从RedirectIfAuthenticated()发送到的任何路由(第二次在列表中排名第四)都在Auth中间件中。下面的示例:

Route::group(['middleware' => ['auth']], function () {  // here }