我试图在登录后重定向到特定页面。我的 LoginController 文件中有这段代码,在 LoginController 类中
public function authenticated($request , $user){
if($user->rol=='Administrador'){
return redirect()->route('home') ;
}elseif($user->rol=='Docente'){
return redirect()->route('balance') ;
}else {
return redirect()->route('profile');
}
}
另外我已经把路由放在我的 web.php 文件中
当我试图查看这个功能是否有效时,问题就来了,因为当我介绍一个校友用户时,它应该重定向到个人资料,但它没有
最佳答案
在 LoginController.php
文件(当您运行 php artisan make:auth
时生成),有一个处理它的属性。
protected $redirectTo = '/home';
删除这个属性,并添加一个同名的方法。
public function redirectTo(){
// Code here
}
redirectTo 方法将优先于 redirectTo 属性。这使我们能够定义逻辑来处理具有不同角色的用户到不同的路径。
public function redirectTo(){
// User role
$role = Auth::user()->role->name;
// Check user role
switch ($role) {
case 'Manager':
return '/dashboard';
break;
case 'Employee':
return '/projects';
break;
default:
return '/login';
break;
}
}
来源:Learn how to redirect authenticated users to corresponding path in Laravel
关于laravel - 在 Laravel 中登录多个角色后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53718827/