Я пытаюсь изменить Laravel, чтобы он проверял, вошли ли вошедшие в систему пользователи ранее или нет, независимо от того, на какую страницу они перейдут при первом входе в систему.
На данный момент я могу заставить его работать, только если пользователь перенаправлен на "/home"
при первом входе в систему:
UserController.php
public function index()
{
$user = Auth::user();
if (!$user->last_login){
//This will redirect the user to the onboarding area, if they haven't logged in before.
return redirect()->route('onboarding');
}else{
if ($user->isAdmin()) {
return view('pages.admin.home');
}
return view('pages.user.home');
}
}
public function onboarding(){
//If the user hasn't logged in yet, let's onboard him/her
//Please check function index(), for the actual redirect.
return view('onboarding.home');
}
routes/Web.php
:
//Onboarding
Route::get('/onboarding', 'UserController@Onboarding')->name('onboarding');
Теперь, как уже было сказано, он будет перенаправлен, только если пользователь перейдет на "/home"
, однако, если пользователь решит перейти, например, на "/profile"
, он / она не будет перенаправлен на "/onboarding"
.
Где наиболее подходящее место для глобальных проверок (независимо от того, какой URL у меня на сайте), если это первый логин пользователя, его / ее следует перенаправить на "/onboarding"
?