Halo, selamat datang kembali, saya Naufal Aulia, dan seperti judulnya, kita akan membahas route middleware pada Laravel. Tapi sebelum implementasi middlewarenya, kita akan membahas terlebih dahulu definisi dan kegunaan dari middleware itu sendiri.
Mudahnya, middleware adalah cara untuk menambahkan 1 level pemeriksaan dan penyaringan pada tingkatan HTTP route. Sebagai contoh, dengan middleware, kita bisa memeriksa apakah user yang masuk ke route tersebut sudah ter-autentikasi, jika belum, user akan di navigasikan ke halaman login dan jika sudah, user akan diperbolehkan masuk ke halaman yang dituju.
Jika dilihat dari gambar diatas, middleware, seperti namanya, adalah yang gerbang koneksi request sebelum masuk ke server yang memperbolehkan request untuk masuk atau tidak.
Mendefinisikan Middleware
Untuk membuat atau mendefinisikan middleware baru pada laravel, jalankan perintah berikut untuk membuat middleware baru dengan nama EnsureTokenIsValid:
$ php artisan make:middleware EnsureTokenIsValid
maka akan terbuat file dengan nama yang sama di folder middleware. Buka file baru tersebut dan ubah isinya menjadi seperti berikut
<?php
namespace App\Http\Middleware;
use Closure;
class EnsureTokenIsValid
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->input('token') !== 'my-secret-token') {
return redirect('home');
}
return $next($request);
}
}
Seperti yang kita lihat, jika token yang diberikan tidak cocok dengan token rahasia kami, middleware akan mengembalikan pengalihan HTTP ke klien; jika tidak, permintaan akan diteruskan lebih jauh ke dalam aplikasi. Untuk meneruskan permintaan lebih dalam ke aplikasi (memungkinkan middleware untuk “lulus”), Anda harus memanggil panggilan balik $next dengan $request.
Menggunakan Middleware Bawaan
Secara default, Laravel sudah menyediakan banyak middleware yang siap dipakai, salah satunya adalah auth.
Route::get('/profile', function () {
//
})->middleware('auth');
Di definisi route diatas, kita menambahkan middleware auth yang berguna sebagai yang akan memeriksa apakah user yang masuk ke route tersebut sudah ter-autentikasi atau belum, jika sudah maka user diperbolehkan masuk dan jika belum, user akan dibawa ke halaman default yang di-set sebagai default.
Sekian untuk penjelasan middleware di artikel ini, bila tertarik untuk membaca lebih dalam, kalian bisa kunjungi link berikut.
Terimakasih, semoga bermanfaat.