Laravel adalah framework terbaik di PHP saat ini. Framework Laravel menyediakan fungsionalitas hemat dan Anda juga dapat menemukannya dari situs ini. Tapi sekarang dalam posting ini Anda bisa belajar bagaimana membuat custom middleware dengan melewatkan parameter di contoh laravel 8 dan bagaimana menggunakan middleware dengan parameter rute di laravel 8. Dalam contoh ini Anda bisa belajar bagaimana menambahkan middlware dengan check user have access role untuk ini. rute dari awal di aplikasi laravel Anda.
Saya juga menambahkan cara membuat middleware di posting saya sebelumnya, Anda juga bisa melihatnya.
Dalam contoh ini saya menambahkan middleware untuk penggunaan cek memiliki akses peran untuk route ini. Jadi saya menambahkan <Jadi pertama buat middleware RoleMiddleware menggunakan perintah di bawah ini:
Buat Middleware
php artisan make:middleware RoleMiddleware
Oke, sekarang Anda bisa menemukan RoleMiddleware.php di direktori app/Http/Middleware dan buka file RoleMiddleware.php dan letakkan kode di bawah ini. Dalam file ini saya memeriksa peran parameter yang diberikan adalah akses untuk pengguna login saat ini atau tidak.
app/Http/Middleware/RoleMiddleware.php
namespace App\Http\Middleware;
use Closure;
use Auth;
class RoleMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
if (! $request->user()->hasRole($role)) {
return redirect()->route('home');
}
return $next($request);
}
}
Sekarang kita perlu mendaftar dan membuat aliase di atas middleware di file Kernel.php jadi pertama buka Kernel.php dan tambahkan baris di bawah.
app/Http/Kernel.php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
......
protected $routeMiddleware = [
......
'role' => \App\Http\Middleware\RoleMiddleware::class,
];
}
Sekarang kita siap menggunakan role middleware di file routes.php. sehingga Anda dapat melihat bagaimana menggunakan middleware di file routes.php.
app/Http/routes.php
Route::get('home', ['as'=>'home','uses'=>'HomeController@index']);
Route::group(['middleware' => 'role:admin'], function () {
Route::get('admins', ['as'=>'admins','uses'=>'HomeController@admins']);
});
ATAU
Route::get('home', ['as'=>'home','uses'=>'HomeController@index']);
Route::get('admins', ['as'=>'admins','uses'=>'HomeController@admins','middleware' => 'role:admin']);
Anda juga dapat memberikan beberapa parameter sesuai keinginan ....
middleware middleware with parameters laravel laravel