#laravel #laravel-7
#laravel #laravel-7
Вопрос:
я столкнулся с проблемой с функцией redirectTo с ролями, в контроллере входа в систему продолжает указывать undefined (hasRole), даже если я помещаю use App user в начало контроллера
{
if (Auth::user()->hasRole('admin')){
$this->redirectTo = route('admin.index');
return $this->redirectTo;
}
else{
$this->redirectTo = route('post.index');
return $this->redirectTo;
}
}```
Комментарии:
1. какую защиту вы установили по умолчанию и какой драйвер использует поставщик пользователей для этой защиты?
2. ‘provider’ => ‘users’, ,,,, функция работает нормально! но контроллер продолжает сообщать мне об ошибке
3. какой драйвер
users
использует провайдер? и где в этом контроллере вы переопределяетеredirectTo
метод?4. ‘driver’ => ‘session’, и да, я переопределяю метод redirectTo ()
5. что является драйвером для поставщика «пользователей»?
Ответ №1:
Я бы просто переопределил authenticated
метод, который позволяет вам возвращать любой ответ, который вы хотите:
protected function authenticated(Request $request, $user)
{
return redirect()->route(
$user->hasRole('admin') ? 'admin.index' : 'post.index'
);
}