How To Create Custom Middleware In Laravel 9

Websolutionstuff | Mar-27-2022 | Categories : Laravel

In this article, we will see how to create custom middleware in laravel 9. Laravel middleware provides a convenient mechanism for inspecting and filtering HTTP requests entering your application. For example, Laravel includes a middleware that verifies the user of your application is authenticated. If the user is not authenticated, the middleware will redirect the user to your application's login screen. if the user is authenticated, the middleware will allow the request to proceed further into the application. If your projects have multiple users then we need to use middleware to provide different access or login to different users.

So, let's see laravel 9 custom middleware,  custom middleware laravel 9, how to create middleware in laravel 9, laravel middleware example.

In this example, I have created "roleType" middleware and I will use it simply on the route, when the route will run you must have to pass the "type" parameter, and then you can access those requests like as below demo link:

http://localhost:8000/check/role?type=user
http://localhost:8000/check/role?type=admin

 

Step 1 : Create Middleware

In this step, we will create custom middleware. So, run the below command in your terminal. 

php artisan make:middleware RoleType

 

 

After running the above command, you will find one file on the app/Http/Middleware/RoleType.php location and you have to add below code.

<?php

namespace App\Http\Middleware;

use Closure;

class RoleType
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($request->type != 'admin') {
            return response()->json('You do not have access!!');
        }

        return $next($request);
    }
}

 

Step 2 : Register This Middleware on Kernel File

Now, we have to register this middleware on the kernel file.

app/Http/Kernel.php

 protected $routeMiddleware = [
        ...
        'roleType' => \App\Http\Middleware\RoleType::class,
    ];

 

 

 Step 3: Add Route

Now, add route and add RoleType middleware in this route. Also, you can add middleware to the group of routes. 

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('check/role',[UserController::class,'checkRole'])->middleware('roleType');

 

Step 4 :  Add Controller

In this step, we will create UserController with a checkrole function.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function checkRole()
    {
        dd('checkRole');
    }
}

 

 

Now it's time to run this example copy the below link in your URL and get output.

http://localhost:8000/check/role?type=user
http://localhost:8000/check/role?type=admin

 


You might also like :

Recommended Post
Featured Post
Laravel 11 Drag and Drop File Upload with Dropzone JS
Laravel 11 Drag and Drop File...

Hello web developers! In this article, we'll see laravel 11 drag and drop file upload with dropzone js. He...

Read More

May-06-2024

How To Downgrade PHP 8 to 7.4 in Ubuntu
How To Downgrade PHP 8 to 7.4...

As a web developer, I understand the significance of embracing the latest technologies to stay ahead in the dynamic worl...

Read More

Aug-04-2023

How To Render Charts In React: using react-chartjs-2 and Chart.js
How To Render Charts In React:...

​​React is a really cool tool that helps programmers make awesome user interfaces using JavaScript.  When it com...

Read More

Jul-26-2023

How to Generate App Key in Laravel 11
How to Generate App Key in Lar...

Hello, laravel web developers! In this article, we'll see how to generate an app key in laravel 11. In laravel 11 we...

Read More

May-24-2024