2015-02-08 120 views
1

我想将过滤器应用于登录和注册页面,因此已登录的用户将被重定向到他们的索引页面。这里是路线:Laravel beforeFilter in controller does not work

Route::controller('users', 'UsersController'); 

这里是在UserController中beforeFilters:

public function __construct() 
{ 
    $this->beforeFilter('guest', ['on' => 'getLogin']); 
    $this->beforeFilter('guest', ['on' => 'getRegister']); 
} 

这里是getLogin动作:

public function getLogin() 
{ 
    return View::make('users/login'); 
} 

和过滤器本身(filters.php):

Route::filter('guest', function() 
{ 
    if (Auth::check()) return Redirect::to('/'); 
}); 

H但是,当我已经登录并尝试访问登录或注册页面时,我不会重定向到“/”。可能是什么问题?

回答

2

'on'实际上是用于指定一个HTTP动词。试试这个:

$this->beforeFilter('guest', ['only' => ['getLogin', 'getRegister']]);