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