[英]How to Customize Redirect After Login
我在我的应用程序中使用cms nova。 我想根据用户属性配置重定向。 在文档中找不到任何内容。 也许我只是不明白。 请帮忙了解。
据我了解,使用Nova时,它将接管身份验证过程。
添加以下受保护的方法来覆盖您的app / Http / Controllers / Auth / LoginController.php文件中的默认重定向:
protected function authenticated(Request $request, User $user)
{
return redirect("/redirect_users_after_login");
}
您是否正在使用Laravel Auth进行身份验证? 如果是,您可以根据需要修改可用的功能广告重定向。 像这样:
在您登录Controller时:
protected function authenticated(Request $request, $user)
{
//Check Role to user type
if ( $user->isAdmin() ) {
//Add redirection
return redirect()->route('admin.route.name');
}
else {
return redirect()->route('admin.route.name');
}
}
在vendor / Laravel / framework / src / Illuminate / Foundation / Auth / RedirectsUsers.php文件下面的代码存在
public function redirectPath()
{
if (method_exists($this, 'redirectTo')) {
return $this->redirectTo();
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}
如果您在LoginController.php中将函数定义为Bellow,则可以将用户重定向到其Path
protected $redirectTo;
protected function redirectTo()
{
if(\Auth::user()->hasRole('Administrator')){
$this->redirectTo = '/admin/overview';
return $this->redirectTo;
}
else if(\Auth::user()->hasRole('Doctor')){
$this->redirectTo = '/doctor/overview';
return $this->redirectTo;
}
}
您必须做的所有事情!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.