限制对Manager用户的访问 - Laravel 5.5

时间:2017-10-03 06:23:52

标签: php laravel-5

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

1 个答案:

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

那是