Моя цель состоит в том, чтобы использовать две страницы входа, как на мобильном, так и на рабочем столе.
Мобильный логин использует идентификатор и пароль, а оригинал - адрес электронной почты и пароль.
Таким образом, я сделал мобильную страницу включающей в себя простую форму входа в систему, которая включает в себя всего две кнопки, названные как In / Out, и цель действия этой формы такая же, как и у исходного маршрута входа Laravel Auth ('/ login') для использования проверки входа в систему.
Поэтому я добавил код ниже, чтобы использовать другую страницу входа в Http / Auth / LoginController.
//Http/Auth/LoginController
public function username()
{
if(request('id')) {
return 'id'; // if request contains id in mobile then return it
}
return 'email'; // else return email
}
protected function validateLogin(Request $request)
{
if(request('id')){
$this->validate($request, [
$this->username() => 'required|numeric',
'password' => 'required|string',
]);
}
}
protected function authenticated(Request $request, $user)
{
if ($request->in == 'in') {
return redirect()->route('mobiles_start', ['in' => 'in']);
} // route('mobiles_start') is target to logic controller
// and after worked then return to mobile login view.
elseif ($request->out == 'out') {
return redirect()->route('mobiles_destroy', ['out' => 'out']);
} // route('mobile_destroy) also.
}
public function showLoginForm(Request $request)
{
if ($request->in == 'in' || $request->out == 'out') {
return view('mobiles.login');
}
else return view('auth.login');
}
Но проблема в том, что если на странице входа в систему с мобильного устройства произошел сбой, то всегда перенаправляйте на исходную страницу входа ('auth.login'), а не на мобильную.
Как я могу сделать перенаправление страницы мобильного входа в систему?