Login Filament di Laravel: Cara Akses Dashboard Admin dengan Aman
Setelah melakukan proses instalasi, tahap berikutnya adalah memahami bagaimana cara melakukan Login Filament untuk mengakses admin panel Laravel. Proses login ini menjadi gerbang utama yang memastikan hanya pengguna berizin yang dapat mengontrol sistem melalui dashboard Filament. Pada panduan ini kita akan membahas mekanisme login Filament, pembuatan user admin, konfigurasi guard authentication, serta opsi untuk kostumisasi halaman login.
Cara Login Filament Setelah Instalasi
Secara default, Filament menyediakan halaman login otomatis yang menggunakan sistem authentication standar Laravel. Agar bisa login, kamu membutuhkan minimal satu user yang terdaftar di sistem.
1. Membuat User Admin
Filament menyediakan perintah untuk membuat user admin dengan cepat:
php artisan make:filament-user
Setelah dijalankan akan muncul prompt:
Name: Email: Password:
Isi semua data sesuai kebutuhan. User ini akan disimpan dalam tabel users Laravel dan dapat dipakai untuk login ke dashboard.
2. Mengakses Halaman Login Filament
Setelah user dibuat, buka browser dan akses:
/admin/login
Contoh pada environment lokal:
http://localhost:8000/admin/login
Jika path panel kamu ubah sebelumnya (misalnya /dashboard), maka halaman login otomatis ikut berubah menjadi:
/dashboard/login
Ini memudahkan pengaturan rute sesuai organisasi sistem kamu.
Bagaimana Proses Login Filament Bekerja
Secara internal, Login Filament memanfaatkan fitur berikut:
- Guard
web(default) - Laravel session authentication
- CSRF protection
- Middleware
webdanauth
Setelah login berhasil, Filament akan menyimpan session user dan mengarahkan ke:
/admin
atau path panel yang sudah dikonfigurasi.
Konfigurasi Guard & Middleware Login Filament
Jika aplikasi menggunakan guard custom pada Laravel, kamu dapat mengatur guard untuk Filament melalui file konfigurasi:
// config/filament.php
'auth' => [
'guard' => 'web',
],
Jika guard diganti, pastikan juga middleware cocok dengan kebutuhan aplikasi.
Contoh jika menggunakan guard admin:
'auth' => [
'guard' => 'admin',
],
Pastikan guard admin sudah didefinisikan di config/auth.php.
Restrict Login Filament Berdasarkan Role / Permission
Untuk aplikasi dengan multi-user, kamu mungkin ingin hanya role tertentu yang boleh login. Jika kamu memakai Spatie Permission, kamu bisa override:
public function canAccessPanel(): bool
{
return $this->hasRole('admin');
}
Metode ini biasanya ditaruh dalam model User.
Dengan cara ini, user non-admin tidak bisa login meskipun ia memiliki akun aktif.
Customizing Halaman Login Filament
Filament juga menyediakan opsi untuk mengubah tampilan login seperti logo, warna, hingga form.
Contoh mengubah logo melalui provider:
public function panel(Panel $panel): Panel
{
return $panel
->brandLogo(asset('images/logo.png'));
}
Sementara untuk tema login, kamu dapat override Tailwind CSS jika ingin tampilan lebih branding-oriented.
Kamu juga bisa:
✔ Menambah reCAPTCHA
✔ Menambah 2FA (Two Factor Authentication)
✔ Menambah Social Login (Google / GitHub)
✔ Menambah Terms & Privacy Link
Hal ini memang tidak tersedia default, namun mudah diintegrasikan berkat sifat modular Filament dan Laravel.
Logout dari Filament
Untuk melakukan logout dari dashboard Filament, gunakan menu dropdown pada bagian user profile atau akses route:
/admin/logout
Filament akan menghapus session dan mengarahkan ke halaman login kembali.
Troubleshooting Login Filament
Jika kamu mengalami error seperti:
1. Email/Password Sudah Benar Tapi Tidak Bisa Login
Kemungkinan masalah ada pada hashing password. Pastikan user dibuat menggunakan form atau command Filament, karena password harus di-hash dengan bcrypt.
2. Guard Tidak Sesuai
Jika menggunakan multi-auth, sesuaikan guard di:
'auth' => ['guard' => 'web']
3. Route Tidak Ditemukan
Jika /admin/login error, cek apakah FilamentServiceProvider berjalan dan middleware web sudah aktif.
Kesimpulan
Tahap Login Filament adalah bagian penting dalam penggunaan panel admin Laravel. Dengan mekanisme login bawaan, Filament memberikan keamanan berbasis session, CSRF, dan middleware Laravel. Selain mudah digunakan, Filament login dapat dikustomisasi mulai dari tampilan hingga autentikasi tingkat lanjut dengan role management dan faktor keamanan tambahan.
Baca Juga: Mengenal Filament Panel di Laravel: Struktur, Fungsi, dan Konfigurasinya