Answers for "create middleware laravel 8 with parameters"

PHP
0

how to pass parameter to middleware laravel 8

Generally you can pass parameters to middleware via using : symbol like this:

Route::get('user/{id}', ['middleware' => 'auth:owner', function ($id) {
    // Your logic here...
}]);
And get the passed parameter into middleware method like this:

<?php

namespace AppHttpMiddleware;

use Closure;

class Authentication
{
    public function handle($request, Closure $next, $role)
    {
        if (auth()->check() && auth()->user()->hasRole($role)) {
            return $next($request);
        }

        return redirect('login');
    }
}
Note that the handle() method, which usually only takes a $request and a $next closure, has a third parameter, which is our middleware parameter.

If you passed in multiple parameters like auth:owner,subscription to your middleware call in the route definition, just add more parameters to your handle method which will look like this - handle($request, Closure $next, $role,$subscription)
Posted by: Guest on November-25-2021
0

laravel set middleware default

If you want a middleware to run during every HTTP request to your application, list the middleware class in the $middleware property of your app/Http/Kernel.php class.
Posted by: Guest on October-19-2020

Code answers related to "create middleware laravel 8 with parameters"

Browse Popular Code Answers by Language