我正在根据用户的角色重定向用户,我更改了AuthenticatedUsers.php
并将其添加到authenticated
函数中
protected function authenticated(Request $request, $user)
{
if (Auth::user()->priority == 'HI') {
return view ('dashboard');
}else{
return view ('home');
}
}
现在我可以根据角色进行重定向了,但是,当我第一次刷新页面时,它会显示
确认表格重新提交
答案 0 :(得分:1)
您没有重定向用户,您只是在渲染视图。
使用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到一个命名的路由,您可以使用route方法:
return redirect()->route('login');