Php laravel Auth::user()在身份验证后返回null

Php laravel Auth::user()在身份验证后返回null,php,laravel,routes,laravel-authentication,laravel-authorization,Php,Laravel,Routes,Laravel Authentication,Laravel Authorization,我在控制器中得到Auth::user()null。在使用凭据登录之后,我通常会获得经过身份验证的用户数据,但在我的一个项目中,我没有获得经过身份验证的用户数据 为了便于解释,我发布了代码片段。 在NewLoginController中,我尝试使用凭据登录,当我尝试使用凭据时,它会成功登录,并且我可以看到管理视图,但当我尝试使用/homepage route进入主页时,我得到Auth::check()false,无法维护应用程序的流,而在我的其他项目中,它与我使用的流程相同 有谁能指导我解决这个问

我在控制器中得到Auth::user()null。在使用凭据登录之后,我通常会获得经过身份验证的用户数据,但在我的一个项目中,我没有获得经过身份验证的用户数据

为了便于解释,我发布了代码片段。 在NewLoginController中,我尝试使用凭据登录,当我尝试使用凭据时,它会成功登录,并且我可以看到管理视图,但当我尝试使用/homepage route进入主页时,我得到Auth::check()false,无法维护应用程序的流,而在我的其他项目中,它与我使用的流程相同

有谁能指导我解决这个问题吗

class NewLoginController extends Controller
{
    public function attemptLoginApi()
    {
       
        if (Auth::attempt(['username' => request('username'), 'password' => request('password')])) {
            
            $userType = Auth::user()->user_type;
             return view('admin');
        } else {
         
            toastr()->error('Invalid Credentials', 'Error');
            return back();
        }

    }

}


class HomePageController extends Controller
{

    public function getUserHomepage()
    {
        
        if (Auth::check()) {
            
            return view('admin');
        
        } else {
         
             return view('home');

        }
        
    }
    
}
web.php

Route::get('/homepage', 'HomePageController@getUserHomepage');
Route::post('/loginApi', 'NewLoginController@attemptLoginApi')->name("loginApi"); 

我想您忘记使用
Auth
中间件了。将您的
主页
路由放在使用
Auth
中间件的路由组中。看


你好谢谢你的回复。我根据您的代码进行了更改,但情况仍然相同。还有其他建议吗??
Route::group(['middleware'=>'auth'],function () {
    Route::get('/homepage', 'HomePageController@getUserHomepage');
});