首页 > 解决方案 > 登录会话不会在 Laravel 6 中持续存在

问题描述

最近我将我的 laravel 项目从 5.1 降级到 6。我像这样升级了项目->

在这样做的同时,我面临着这个问题。我使用单独的控制器和路由来验证用户。在验证用户身份时,登录会话不会持续存在,因此它再次将我重定向回登录页面。我检查了我的登录凭据是否正确并且Auth::attempt返回 true。但是当我将它重定向到我想要的路线时,它会将我发送到登录页面。

public function signInAction(Request $request)
    if (Auth::attempt($loginCredentials)) {
        $logonId = $secUserLogon[0]->logon_id;
        $request->session()->put('sessLogonId', $logonId); // this session data in not available later on

        return redirect()->intended(route('home::onlineInfo'));
    }
}

我找到了一种解决方法,这似乎不对。我已将 true 作为第二个参数传递,Auth::attempt其中让我登录用户。但是如果我在会话中放置任何东西,它也不会持续存在,如果我实现记住我,如果用户传递错误,它将不起作用。谁能帮我解决这个问题?

标签: phplaravel

解决方案


您是否尝试过使用全局session()助手?这可能更可靠。https://laravel.com/docs/6.x/session#storing-data


推荐阅读