如何在laravel6.x版本中重定向不同的用户以查看不同的页面



我需要根据用户的登录详细信息将用户重定向到不同的url。

例如

  • 如果1的用户id登录,则应该重定向他。"/home">

  • 如果2的用户id登录,则应该重定向他。"/联系">

  • 当他们被注销时,他们应该被重定向到索引页面。"/">

  • 如果他们在注销时试图粘贴"/contact"url,则应将其重定向到"login"url

对于控制器中的登录用户

if(auth()->user()->id ==1){
return redirect("/home");
}elseif(auth()->user()->id ==2){
return redirect("/contact");
}else{
return redirect("/index");
}

如果他们在注销时试图粘贴"/contact"url,则应将其重定向到"login"url

Route::match(['get', 'post'], '/contact', 'Controller@method')->middleware('auth:user');

在不知道您使用的是哪个版本的Laravel的情况下,我所能建议的就是查看此处的验证文档以获取您的版本。

以下是laravel 7.x 的基本示例

app/Http/Controllers/Auth/LogiController.php

/**
* The user has been authenticated.
*
* @param  IlluminateHttpRequest  $request
* @param  mixed  $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
// Add your logic here (switch statement)
return response([
//
]);
}

另请参阅此处的保护路线文件

app/Http/Middleware/Authenticate.php

/**
* Get the path the user should be redirected to.
*
* @param  IlluminateHttpRequest  $request
* @return string
*/
protected function redirectTo($request)
{
// Add your logic here (switch statement)
return route('login');
}

相关内容

  • 没有找到相关文章

最新更新