我需要一些帮助与重定向后登录与Laravel 8 Fortify。我知道如何做它在登录控制器,但与Fortify有一个LoginResponse,我不知道如何做到这一点。我知道在RouteService提供商,我可以改变它到任何地方,但我有角色,我想重定向到不同的 Jmeter 板的基础上的角色。
在旧的登录控制器中,我将执行以下操作。如何将其更改为Fortiy的LoginResponse?
public function redirectTo()
{
if(Auth::user()->hasRole('admin')){
$this->redirectTo = route('admin.dashboard');
return $this->redirectTo;
}
if(Auth::user()->hasRole('manager')){
$this->redirectTo = route('manager.dashboard');
return $this->redirectTo;
}
if(Auth::user()->hasRole('employee')){
$this->redirectTo = route('employee.dashboard');
return $this->redirectTo;
}
}
2条答案
按热度按时间oalqel3c1#
您可以通过绑定自己的
LoginResponse
实现来自定义Fortify
的重定向。您可以将以下内容添加到FortifyServiceProvider
的register
方法中:如果愿意,您可以始终在实际文件中创建类,而不是使用anonymous class。
下面是一个Laravel News post,它将对此进行更详细的介绍。
ivqmmu1c2#
因为你似乎有一个自定义的 Jmeter 板为每个角色,如果是我,而不是改变引擎盖下,如Rwd建议,我会把我的默认重定向页面,在/config/fortify. php作为主目录,是处理重定向的页面.所以你的***route('dashbord')***将决定用户需要哪个 Jmeter 板: