我是Laravel的新手。我正在做一个教程,我有限制访问经理用户的问题。我现在能够为我的用户分配角色(经理和成员)。但我的问题在于Manager Middleware。
如果用户是管理员,则它不会返回$next($request);
,而是在身份验证后路由到/home
,如果用户不是经理,则会路由到{{ 1}}也代替/home
。
有一个名为/tickets
的文件,我在那里更改了路线,但问题仍然保持不变。
那么我缺少什么来限制对我的经理的访问?
经理中间件
RedirectIfAuthenticated
路线
public function handle($request, Closure $next)
{
if(!Auth::check())
{
return redirect('/login');
}
else{
$user = Auth::user();
if($user->hasRole('Manager'))
{
return $next($request);
}
else{
redirect('/tickets');
}
}
return $next($request);
}
答案 0 :(得分:0)
请执行以下操作:
在else部分中:而不是redirect('/tickets');
使用return redirect('/tickets');
即。它会变成:
public function handle($request, Closure $next)
{
if(!Auth::check())
{
return redirect('/login');
}
else{
$user = Auth::user();
if($user->hasRole('Manager'))
{
return $next($request);
}
else{
return redirect('/tickets');
}
}
return $next($request);
}
那是