Php 如何根据Laravel 8中的用户角色或权限重定向到不同的视图?
我将下面的函数放在LoginController类中,以将用户重定向到不同的视图,登录后我得到了这个419 |过期页面Php 如何根据Laravel 8中的用户角色或权限重定向到不同的视图?,php,laravel,web,eloquent,laravel-8,Php,Laravel,Web,Eloquent,Laravel 8,我将下面的函数放在LoginController类中,以将用户重定向到不同的视图,登录后我得到了这个419 |过期页面 protected function authenticated(Request $request, $user) { if ($user->PRIVILEGE == 'C') { return redirect()->route('/users'); } else if ($user->PRIVILEGE == 'B') {
protected function authenticated(Request $request, $user) {
if ($user->PRIVILEGE == 'C') {
return redirect()->route('/users');
} else if ($user->PRIVILEGE == 'B') {
return redirect('/blog');
} else {
return redirect('/');
}
}
查看
app\Http\Middleware\RedirectIfAuthenticated.php中的handle
方法,您将看到在用户通过身份验证检查后,他们会收到一个重定向
此类用于在验证后将用户重定向到正确的登录
页面
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
$user = Auth::user();
if ($user->PRIVILEGE == 'C') {
return redirect()->route('/users');
}
if ($user->PRIVILEGE == 'B') {
return redirect('/blog');
}
return redirect('/');
}
return $next($request);
}
首先将其放入您的登录控制器类中:使用illumb\Support\Facades\Auth强>
注释掉这一行protected$redirectTo=…
并将此函数添加到LoginController类中:
公共函数重定向路径()
{
}
最好使用Auth-guard。当使用您的答案时,它会将我带到“/home”我不想去“/home”。请打印一些内容进入并查看$user是什么以及返回的位置
if(Auth::user()->privilege =='C'){
return '/users';
}
if(Auth::user()->privilege=='B'){
return '/blog';
}