Я использую встроенные методы аутентификации Laravel.
У меня есть функция перенаправления, которая возвращает маршруты для разных ролей пользователя.
Он не перенаправляет на указанный URL при переходе на /login
, он просто показывает пустой URL с простым маршрутом (/login
) в HTML
Я искал это документы , но не смог найти решение этой проблемы.
Этот код создает проблему, я думаю:
//Auth/LoginController
protected function redirectTo()
{
if (!Auth::guest()) {
if (Auth::user()->is_active != 0) {
if(Auth::user()->hasRole('administrator')) {
$this->redirectTo = '/admin';
return $this->redirectTo;
} else if(Auth::user()->hasRole('customer')) {
$this->redirectTo = '/customer';
return $this->redirectTo;
} else {
return '/logout';
}
} else {
return '/dashboard';
}
} else {
return '/login';
}
}
Когда я использую перенаправление:
protected function redirectTo()
{
if (!Auth::guest()) {
if (Auth::user()->is_active != 0) {
if(Auth::user()->hasRole('administrator')) {
$this->redirectTo = '/admin';
return redirect($this->redirectTo);
} else if(Auth::user()->hasRole('customer')) {
$this->redirectTo = '/customer';
return redirect($this->redirectTo);
} else {
return redirect('/logout');
}
} else {
return redirect('/dashboard');
}
} else {
return redirect('/login');
}
}
Я получаю эту ошибку:
Эта страница не работает [..] вас перенаправляли слишком много раз.
Как перенаправить пользователей также при переходе на маршрут входа в систему.
Заранее спасибо !!