Мы можем переопределить это свойство для перенаправления пользователей после входа в LoginController:Что случилось с методом redirectTo() Laravel?
protected $redirectTo = '/home';
А вот выписка из документации:
Если пути переадресации необходим пользовательская логика генерации можно определить RedirectTo метод вместо свойства RedirectTo:
защищенная функция RedirectTo() {
//}
Но он всегда переадресовывает на '/home';
независимо от условий.
protected function redirectTo()
{
if (Auth::user()->role==0) {
return '/volunteer';
} else {
return '/donor';
}
}
Если метод существует, он будет использовать его, в противном случае будет использовано свойство. Но похоже, что свойство используется, даже если метод существует.
Однако переопределение authenticated()
или sendLoginResponse()
функция работает нормально.
protected function authenticated()
{
if (Auth::user()->role==0) {
return redirect('/volunteer') ;
} else {
return redirect('/donor');
}
}
Что не так с redirectTo()
способ там? Вот эти методы: GitHub source code.
Я использую Laravel version 5.3.28.
Пробовали ли вы перекрывая 'redirectPath()' вместо 'RedirectTo()' – Troyer
@Troyer Вы имели в виду это внутри '' RedirectTo) метод (? –
@Troyer не '$ this-> redirectTo = '/ volunteer'' или переопределение' redirectPath() 'работает. но это нормально с переопределением 'authenticated()' метода с тем же кодом. –