-->

Cara Menciptakan Multiple Middleware Laravel 5.6

Assalamualaikum wr wb.
Beberapa hari ini aku sedang fokus dalam menciptakan project memakai laravel, dan ada kebutuhan aku yang mengharuskan menciptakan middleware. Nah middleware yang aku gunakan itu multiple jadi, aku brosing maka aku menemukan cara menggunakannya dari dokumentasi resmi laravel. Silakan baca disini, nah disana pakai bahasa inggris, jikalau resah dengan bahasa inggris baca aja postingan aku ini.

1. Silakan buat middleware 'php artisan make:middleware IsAdmin'

2. Selanjutnya silakan isi isyarat berikut ini di file app/Http/Middleware/IsAdmin.php

<?php

namespace App\Http\Middleware;

use Closure;

class IsAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(auth()->check() && $request->user()->role == 'admin'){
            return $next($request);
        }
        return redirect()->guest('/login');
    }
}

3. Register middleware di app/Http/kernel.php

Tambahkan di  protected $routeMiddleware jadinya sesudah ditambahkan maka akan menjadi ibarat dibawah ini :

    protected $routeMiddleware = [
        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'admin' => \App\Http\Middleware\IsAdmin::class,
    ];

4. Menerapkan middleware :
Silakan ke routes dan tambahkan method ->middleware('nama midleware')

rujukan :

Route::resource('employees', 'EmployeeController')->middleware('admin');

Oke sekian, postnya berserakan alasannya ialah gak niat nulis.

Sumber https://rafibanget.blogspot.com/

Baca juga: