Laravel 4.2 |构造 beforeFilter - 验证检查

Laravel 4.2 | construct beforeFilter - auth check

我有这个代码:

function __construct() {
  $this->beforeFilter('auth');

  if (Auth::user()->hasRole('A')) {
    return \Redirect::route('B')->send();
  }
}

Route::filter('auth', function()
{
    if (Auth::guest())
    {
        if (Request::ajax())
        {
            return Response::make('Unauthorized', 401);
        }
        else
        {
            return Redirect::guest('auth/login');
            die();
        }
    }
});

结果是这个错误:

Call to a member function hasRole() on null

授权过滤器应该自动将我重定向到授权页面。但它在完成所有功能之前不会这样做。

有什么建议吗?

好吧,这就是解决方案:

function __construct() 
{
  if ($this->beforeFilter('auth')) {
    if (Auth::user()->hasRole('A')) {
      return \Redirect::route('B')->send();
    }
  }
}