Pluginify

Masuk Daftar
Home > Blog > Laravel > Login Filament di Laravel: Cara Akses Dashboard Admin dengan Aman

Login Filament di Laravel: Cara Akses Dashboard Admin dengan Aman

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 web dan auth

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

Pluginify
Pluginify