Skip to content
Advertisement

Laravel adding middleware inside a controller function

as the title says I want to use a middleware inside a controller function. I have resource controllers, which their functions inside will have different access rights so I can’t use a middleware in the web.php file, I have to use or apply it separately in each function to limit access, my googling hasn’t been successful in getting a solution to that so far. Any help please and thanks in advance.

P.S. I believe no code is necessary here.

Advertisement

Answer

Middleware could also be applied to just one function, just add the method name in your controller constructor

public function __construct()
{
    // Middleware only applied to these methods
    $this->middleware('loggedIn', [
        'only' => [
            'update' // Could add bunch of more methods too
        ]
    ]);
}

OR

public function __construct()
{
    // Middleware only applied to these methods
    $this->middleware('loggedIn')->only([
        'update' // Could add bunch of more methods too
    ]);
}

Here’s the documentation

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement