我有一个关于如何将页面限制为管理员的教程。在我的RedirectIfAuthenticated.php 中,这就是我的代码的样子
public function handle($request, Closure $next, $guard = null)
{
if (!Auth::guard($guard)->check()) {
// return redirect('/login');
} else {
$user = Auth::user();
if($user->hasRole('manager')) {
return redirect('admin/home');
} else {
return redirect('/home');
}
}
return $next($request);
}
登录后,我被路由到相应的页面,但问题是,即使我以会员身份而不是管理员身份登录,我仍然可以路由到管理页面。当我放置时localhost/admin/home
,尽管我不是经理,但我仍然被路由到该页面。我错过了什么?
我建议看一下https://www.learn2torials.com/a/laravel-authentication-based-on-roles教程来解决这个问题。
您必须根据您的用户类型使用不同的中间件来处理他们的权限
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句