Laravel filter on route group but only in post requests

Sakibul Alam

I am using restful controllers. I need to run some filters like auth and custom permissions on them. So I put them in a route group and set filters on that group. In addition I also want to run csrf filter but only on post requests. How to do this in the route group?

Added code for clarification

Route::group(array('before' => 'auth|allowed|csrf'), function() {
    Route::controller('controller', 'SomeController');
    Route::controller('othercontroller', 'OtherController');
});

I want the csrf only on post routes. I really don't want to add a filter on every controller (there are quite a few);

Sakibul Alam

OK. I solved it i guess. I checked whether the request was post or not. Don't know whether this is bad practice. I changed the csrf filter in filter.php to

Route::filter('csrf', function()
{
    if (Request::getMethod() == 'POST' && Session::token() != Input::get('_token'))
    {
        throw new Illuminate\Session\TokenMismatchException;
    }
});

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Laravel - Overriding a resource route into a different route filter group

From Dev

Laravel 5.2: Filter route group based on the domain name

From Dev

Laravel Conditional route filter

From Dev

Laravel group route issue

From Dev

Laravel Route Post not allowed

From Dev

Laravel - Get route name in filter

From Dev

Laravel Detect Route Group in View

From Dev

Laravel Middleware except with Route::group

From Dev

Laravel 5 Route group controllers

From Dev

Laravel 5.2 Variable in a group of route

From Dev

Validating and then redirecting to a post route in Laravel

From Dev

Ajax post to route in Laravel 4

From Dev

Laravel post route with url parameters

From Dev

Laravel 6 - Route post not found

From Dev

Ajax post to route in Laravel 4

From Dev

how to post to a route url in laravel

From Dev

Laravel 5.3 Log some route requests

From Dev

Difference between middleware route group and namespaces route group in laravel 5.1?

From Dev

How to create Node server only for POST requests

From Dev

laravel route filter to check user roles

From Dev

Laravel 4: Add a filter to a route a pass it a controller

From Dev

Laravel Pass Parameter from Route to Filter

From Dev

Laravel: pass route parameter to filter parameter

From Dev

Laravel 4 CSRF on all POST requests

From Dev

AngularJS $resource requests to Laravel - POST and PUT

From Dev

laravel web app: post requests on production are not stable

From Dev

Sails.js custom route raises 500 forbidden for post requests

From Dev

Node JS handling multiple post requests for same route

From Dev

Build menu through Route::group in Laravel 5