Authentication vs Authorization
Dua konsep ini sering tertukar, padahal perannya sangat berbeda. Memahami perbedaannya adalah fondasi penting untuk membangun sistem yang aman.
Perbedaan Mendasar
Implementasi: Sistem Role (Peran)
1. Tambah Kolom Role di Tabel Users
2. Simpan Role di Session Saat Login
3. Helper Function untuk Authorization
4. Gunakan di Halaman yang Dilindungi
5. Kontrol Tampilan Berdasarkan Role
WARNING
Kontrol tampilan BUKAN keamanan!tidak cukup. Hacker bisa langsung akses URL-nya. Selalu tambahkan requireRole() di setiap halaman yang harusnya terlindungi.
6. Halaman 403 (Akses Ditolak)
Matriks Hak Akses
Definisikan dengan jelas siapa bisa apa:
Keamanan Tambahan
NOTE
- Authentication:
Auth::attempt(),Auth::check() - Authorization: Gate, Policy,
@candirective di Blade - Middleware:
auth,verified,can:admin
Semua yang kamu pelajari di sini adalah fondasi dari apa yang Laravel otomasi.
Latihan
- Tambahkan kolom
roledi tabel users dan buat 3 user: admin, editor, user biasa - Update
config/auth.phpdengan helper functionhasRole()danrequireRole() - Buat halaman admin dashboard yang hanya bisa diakses role admin
- Buat menu navigasi yang otomatis menyembunyikan link berdasarkan role
Selanjutnya
Kamu sudah paham cara mengamankan siapa boleh apa. Lanjut ke Front Controller Pattern β untuk belajar arsitektur routing yang dipakai semua framework modern.