Created
August 17, 2015 21:49
-
-
Save Tjoosten/3efd0ff7aed2b5bbd16d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
|-------------------------------------------------------------------------- | |
| Application & Route Filters | |
|-------------------------------------------------------------------------- | |
| | |
| Below you will find the "before" and "after" events for the application | |
| which may be used to do any work before or after a request into your | |
| application. Here you may also register your custom route filters. | |
| | |
*/ | |
App::before(function ($request) { | |
// If on production, redirect to a secure page if possible | |
// TODO: set up nginx to do this automatically | |
if (App::environment() == 'production') { | |
if (!Request::secure()) { | |
return Redirect::secure(Request::getRequestUri()); | |
} | |
} | |
// Language negotiation | |
if (Input::get('lang')) { | |
$languages = array('nl', 'en', 'fr'); | |
$locale = Input::get('lang'); | |
if (in_array($locale, $languages)) { | |
App::setLocale($locale); | |
Session::put('lang', $locale); | |
} else { | |
$locale = null; | |
} | |
} else { | |
$languages = array('nl', 'en', 'fr'); | |
$locale = Session::get('lang'); | |
if (in_array($locale, $languages)) { | |
App::setLocale($locale); | |
} else { | |
$locale = null; | |
} | |
} | |
}); | |
App::after(function ($request, $response) { | |
// | |
}); | |
/* | |
|-------------------------------------------------------------------------- | |
| Authentication Filters | |
|-------------------------------------------------------------------------- | |
| | |
| The following filters are used to verify that the user of the current | |
| session is logged into this application. The "basic" filter easily | |
| integrates HTTP Basic authentication for quick, simple checking. | |
| | |
*/ | |
Route::filter('auth', function () { | |
if (Auth::guest()) return Redirect::guest('login'); | |
}); | |
Route::filter('auth.basic', function () { | |
return Auth::basic(); | |
}); | |
/* | |
|-------------------------------------------------------------------------- | |
| Guest Filter | |
|-------------------------------------------------------------------------- | |
| | |
| The "guest" filter is the counterpart of the authentication filters as | |
| it simply checks that the current user is not logged in. A redirect | |
| response will be issued if they are, which you may freely change. | |
| | |
*/ | |
Route::filter('guest', function () { | |
if (Auth::check()) return Redirect::to('/'); | |
}); | |
/* | |
|-------------------------------------------------------------------------- | |
| CSRF Protection Filter | |
|-------------------------------------------------------------------------- | |
| | |
| The CSRF filter is responsible for protecting your application against | |
| cross-site request forgery attacks. If this special token in a user | |
| session does not match the one given in this request, we'll bail. | |
| | |
*/ | |
Route::filter('csrf', function () { | |
if (Session::token() != Input::get('_token')) { | |
throw new Illuminate\Session\TokenMismatchException; | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment