diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index d3722c2..4aa6667 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -63,5 +63,6 @@ class Kernel extends HttpKernel 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'class' => \App\Http\Middleware\CheckUserClass::class, ]; } diff --git a/app/Http/Middleware/CheckUserClass.php b/app/Http/Middleware/CheckUserClass.php new file mode 100644 index 0000000..a0a498a --- /dev/null +++ b/app/Http/Middleware/CheckUserClass.php @@ -0,0 +1,46 @@ +kelas_user == $class) { + // Jika kelas pengguna cocok dengan kelas yang diberikan, lanjutkan ke permintaan berikutnya. + return $next($request); + } + } + + // Jika kelas pengguna tidak cocok dengan kelas yang diberikan, arahkan ke halaman yang sesuai. + if (in_array($user->kelas_user, [1, 2])) { + return redirect('/admin'); + } elseif ($user->kelas_user == 3) { + return redirect('/dashboard'); + } + + // Kelas pengguna tidak cocok dengan kelas yang diberikan dan bukan 1, 2, atau 3, + // sehingga arahkan ke halaman login (atau halaman yang sesuai). + return redirect('/login'); + } +} \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 588d1ea..8e76ddc 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,13 +22,24 @@ Route::resource('/', 'HomeController'); }); -Route::group(['namespace'=>'Backend'], function() - { - Route::resource('dashboard', 'DashboardController'); - }); -Route::group(['namespace'=>'AdminBackend'], function() - { - Route::resource('admin', 'AdminDashboardController'); + + Route::middleware(['class:3'])->group(function () { + // Definisikan rute untuk mahasiswa di sini, misalnya dashboard. + // Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); + Route::group(['namespace'=>'Backend'], function() + { + Route::resource('dashboard', 'DashboardController'); + }); + }); + + Route::middleware(['class:1,2'])->group(function () { + // Definisikan rute untuk dosen di sini, misalnya halaman admin. + // Route::get('/admin', [AdminController::class, 'index'])->name('admin'); + Route::group(['namespace'=>'AdminBackend'], function() + { + Route::resource('admin', 'AdminDashboardController'); + }); + }); Auth::routes(); \ No newline at end of file