Using filters on routes in routes.php is as simple as:
Route::get('/something/{smth}', array('before' => 'auth', function($smth) { return "There is something called {$smth} "; }));
When using controllers filters may be specified like this:
Route::get('profile', array('before' => 'auth', 'uses' => 'UserController@showProfile'));
However if you used to use Resource controllers like this:
Route::resource('something', 'SmthController');
Then an option is to specify filters from within your controller like this:
public function __construct() { $this->beforeFilter('auth', array('only' => array('store', 'update', 'destroy'))); }
This however will not be so transparent to someone not knowing your code, so another good option is to declare a group Route in routes.php and put all secure routes there probably handled by different controllers and methods:
// secure routes Route::group(array('before' => 'auth'), function() { Route::resource('something', 'SmthController'); Route::get('smthspecial', 'SmthController@get_smth_special'); Route::any('search/(:all?)', 'SearchSmth@index'); Route::controller(array( 'dashboard', 'messages', 'friends', 'admin.dashboard', 'admin.users', )); Route::any('edit_profile', 'profile@edit'); Route::get('(:any)', 'profile@view'); });