尝试根据用户的级别重定向用户

时间:2016-10-28 18:06:57

标签: php laravel

Laravel 5.3

我有这个中间件( roles )来检查用户是否是管理员(通过检查用户表中名为 isAdmin 的列)。

 public function handle($request, Closure $next)
    {

        $next($request);

        dd(Auth::user()); //returns null

        if ($request->user()->isAdmin()){
            return redirect('admin-home');
        }

        return redirect('user-home');
    }

问题是:Auth::user()总是返回null,所以我不能测试用户是否是管理员。我使用laravel默认身份验证系统,因此将中间件分配给这样的操作:

LoginController extends Controler{
    public function __construct()
    {
        $this->middleware('roles', ['only' => 'login']);
    }

}

因为我已经next($request);我认为Auth::user()会返回当前的然后我会根据他的等级将他重定向到正确的视图。我如何修复它以检查用户的级别并重定向他?我知道它有点大,并且可能存在许多更好的方法来实现它,但我真的想在实现其他方法之前实现它。

0 个答案:

没有答案