无法使用 Laravel 5 持久化 Auth::login
Posted
技术标签:
【中文标题】无法使用 Laravel 5 持久化 Auth::login【英文标题】:Can't persist Auth::login with Laravel 5 【发布时间】:2016-06-06 01:21:00 【问题描述】:我正在尝试在控制器或路由中手动登录用户。这在页面范围内有效,但不会持续存在。
这是我的代码:
Route::get('check', function ()
if (Auth::loginUsingId(1)) // User #1 is existing in the DB
return redirect()->intended('/check2');
);
Route::get('check2', function ()
dd(Auth::user());
);
我在 /check2 页面上得到:null
谁能给我一个快速的提示?
PS:我测试了默认的 Auth Laravel 系统,它可以工作。
非常感谢!
【问题讨论】:
我没有立即注意到任何事情,但我觉得它必须是非常简单的事情。它设置cookies吗?它是否在后端创建会话? 同样的事情? ***.com/questions/21603347/… 5的什么版本,技术上是3个不同的版本,每个都有自己的subversions。 【参考方案1】:问题很简单。在 Laravel 5.2 上,您需要将所有相关的路由包装在中间件“web”中,以便使用 Authentification。
谢谢大家。
【讨论】:
以上是关于无法使用 Laravel 5 持久化 Auth::login的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.2 错误 App\User 无法使用 Illuminate\Foundation\Auth\User - 这不是特征
Laravel 5.2 Auth 登录有效,Auth::check 失败
Laravel 5.3:如何在全局中间件中使用 Check Auth?
Laravel 5.4 Auth Guardian 驱动程序 [customers] 未定义
Auth::attempt 在 Laravel 5 中不起作用
Laravel 5.6和Eloquent将子模型持久化到数据库中,无法从模型中找到hasMany或belongsTo方法