Мы можем переопределить это свойство, чтобы перенаправлять пользователей после входа в систему в LoginController:
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 для этих методов.
Я использую Laravel версии 5.3.28.