控制器里设置过滤器的问题-过滤器后面的代码被执行,求解惑!

代码逻辑是这样的
我扩展了basecontroller的 __construct方法,在这里加了授权验证和身份验证的逻辑

如果授权没通过或身份验证没通过,或者对当前路径没有访问权限,就会引导到其他路径,中间的处理代码如下:
$token = new Token;
$username = $token->check_token($this->token);

$this->user = User::where('username', $username)->first();

if(empty($this->user)) {
if($this->channel == 0) {
    //会话丢失或非法访问
    $this->beforeFilter('illegal_local_access:'.$this->c); 
} else {
    echo json_encode(array('status' => 12));exit;
}


过滤器代码:
Route::filter('illegal_local_access', function($route, $request, $controller)

$login_status = 0;
if($controller == 'home') {
    return View::make('home')->withLogin_status($login_status);
} else {
    return Redirect::to('/home');

});

结果是它跑进了过滤器的代码,但$this->beforeFilter('illegal_local_access:'.$this->c); 之后的代码(这个指的还是__construct里的代码)还会被执行;如果在$this->beforeFilter('illegal_local_access:'.$this->c); 后加exit; ,则返回空白,也就是程序终止了,没有重绘视图也没有被重导向。 想问以下,在控制器里__construct方法设置过滤器,是不要等__construct方法被执行完了才执行过滤器的代码?请指教!
已邀请:

要回复问题请先登录注册