Подтвердите форму повторного представления Laravel - PullRequest
0 голосов
/ 27 сентября 2019

Я перенаправляю пользователей в зависимости от их ролей, я изменил свой AuthenticatedUsers.php и добавил это к функции authenticated

protected function authenticated(Request $request, $user)
{
    if (Auth::user()->priority == 'HI') {
        return view ('dashboard');
    }else{
        return view ('home');
    }
}

Теперь у меня работает перенаправление на основе ролей, однако когда яобновить страницу ВПЕРВЫЕ она показывает

ПОДТВЕРДИТЕ ФОРМУ РЕЗУЛЬТАТОВ

1 Ответ

1 голос
/ 27 сентября 2019

Вы не перенаправляете пользователя, вы только визуализируете представление.

используйте redirect для перенаправления пользователя:

protected function authenticated(Request $request, $user)
{
    if (Auth::user()->priority == 'HI') {
        return redirect('dashboard');
        // with named routes
        return redirect()->route('dashboard');
    } else {
        return redirect('home');
        // with named routes
        return redirect()->route('home');
    }
}


Из документов:

Создание перенаправлений :

Ответы на перенаправление являются экземплярами класса Illuminate \ Http \ RedirectResponse и содержат надлежащие заголовки, необходимые для перенаправления пользователя другомуURL.Есть несколько способов создать экземпляр RedirectResponse.Самый простой способ - использовать помощника глобального перенаправления:

Route::get('dashboard', function () {
    return redirect('home/dashboard');
});


Перенаправление на именованные маршруты

При вызове перенаправленияпомощник без параметров, возвращается экземпляр Illuminate \ Routing \ Redirector, что позволяет вам вызывать любой метод в экземпляре Redirector.Например, чтобы сгенерировать RedirectResponse для именованного маршрута, вы можете использовать метод маршрута:

return redirect()->route('login');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...