douzhangshao6369 2017-10-14 20:23
浏览 34
已采纳

将页面限制为管理员 - Laravel

I am having a tutorial on how to restrict pages to admins. In my RedirectIfAuthenticated.php, this is how my code looks like

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);
}

After i login, i am routed to the respective pages but the issue is, i can still route to the admin page even tho i login as a member and not manager. When i place localhost/admin/home, i am still routed to that page although i am not a manager. What am i missing out?

  • 写回答

2条回答 默认 最新

  • dtwzwmv87399 2017-10-14 20:59
    关注

    I would suggest to take a look at https://www.learn2torials.com/a/laravel-authentication-based-on-roles tutorial to resolve this issue.

    You have to use different middlewares based on your user types to handle their permissions

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?