Search code examples
authenticationlaravellaravel-4middleware

'auth' Middleware with Route::resource


How can I use middleware with resources?

Route::resource('myitem', ['middleware' => 'auth', 'uses' => 'App\\Controllers\\MyitemsController']);

Just followed https://laracasts.com/discuss/channels/general-discussion/struggling-with-routeresource-and-auth-middleware but unfortunately could not solve.

Getting error:

ErrorException (E_UNKNOWN) 
Array to string conversion
Open: /vendor/laravel/framework/src/Illuminate/Routing/Router.php

protected function getResourceAction($resource, $controller, $method, $options)
{
    $name = $this->getResourceName($resource, $method, $options);

    return array('as' => $name, 'uses' => $controller.'@'.$method);
}

Solution

  • Using filter with resource was not working that why had to use Route::group

    Route::group(array('before' => 'auth'), function()
    {
        Route::resource('myitem', 'App\\Controllers\\MyitemsController');
    });
    

    https://stackoverflow.com/a/17512478/540144