Laravel 身份验证不持久

我正在尝试使用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


问题

怎么了 ?我无法下定决心


www说
浏览 149回答 2
2回答

qq_花开花谢_0

这也让我发疯了几次。很可能您的“testLogin”路由不包含在 auth 中间件中,这不会在路由通过时为您提供身份验证。如果是这种情况,请将您的“testLogin”路线移至以下内容中:Route::group(['middleware' => ['auth']], function () { ... HERE ... }

天涯尽头无女友

在.env文件中,变量SESSION_DOMAIN设置不正确并且没有反映本地域(从现在到几年前已经改变了)......愚蠢的错误,但我希望它可能会阻止其他人做同样的事情。
打开App,查看更多内容
随时随地看视频慕课网APP