← Kembali ke materi
Latihan · Laravel Dasar

Admin dan pelanggan

Menyiapkan Laravel… hanya lama di kunjungan pertama.

Latihan paling nyaman dikerjakan di laptop.

Instruksi

Budi sudah bisa masuk, tapi ternyata ia juga bisa membuka halaman admin. Kita bedakan admin dan pelanggan.

Coba dulu: di kolom Hasil, buka /masuk, masuk sebagai budi@kopisenja.test (password password), lalu buka /admin/menu. Budi masih bisa masuk.

  1. Lengkapi migration database/migrations/2026_01_01_000003_add_role_to_users_table.php (sudah dibuatkan, masih kosong): kolom role (string, bawaannya pelanggan).
  2. Di model User, tambahkan method isAdmin(). Jangan masukkan role ke Fillable, supaya pendaftar tidak bisa menjadikan dirinya admin.
  3. Di DatabaseSeeder, jadikan akun admin ber-role admin (isi $admin->role, lalu save()).
  4. Buat middleware app/Http/Middleware/PastikanAdmin.php yang memanggil abort(403) untuk yang bukan admin, lalu pasang di grup admin: middleware(['auth', PastikanAdmin::class]).

Kode

Hasil

Tekan Jalankan untuk melihat halaman.