我正在尝试使用Laravel 5.4和 Laravel Valet重新激活一个旧项目。我遇到了身份验证问题。登录控制器public function authenticated(Request $request, User $user){ $previous_session = $user->session_id; if ($previous_session) { Session::getHandler()->destroy($previous_session); } $user = Auth::user(); $user->session_id = Session::getId(); $user->save(); Auth::login($user, true); return redirect('testlogin'); }路线Route::get('testlogin', function () { dd(\Illuminate\Support\Facades\Auth::check());});在 LoginController 中,$user被检索而不是null,但是一旦进行了重定向Auth::check()就是false问题怎么了 ?我无法下定决心
2 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
这也让我发疯了几次。很可能您的“testLogin”路由不包含在 auth 中间件中,这不会在路由通过时为您提供身份验证。如果是这种情况,请将您的“testLogin”路线移至以下内容中:
Route::group(['middleware' => ['auth']], function () { ... HERE ... }
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
在.env
文件中,变量SESSION_DOMAIN
设置不正确并且没有反映本地域(从现在到几年前已经改变了)......愚蠢的错误,但我希望它可能会阻止其他人做同样的事情。
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消