Implementasi Multi-User di Laravel

Aug 6, 2024

Pembahasan Multi-User di Laravel

Tujuan

  • Membuat beberapa role pengguna: Operator, Keuangan, Marketing.
  • Menggunakan tabel yang sudah disediakan oleh Laravel.
  • Membuat middleware untuk membatasi akses halaman.
  • Menyesuaikan tampilan menggunakan Blade sesuai dengan hak akses pengguna.

Persiapan

  • Tools yang digunakan:
    • XAMPP (sebagai local server)
    • Composer (untuk download paket Laravel)
    • Visual Studio Code (text editor)

Aktivasi XAMPP

  • Aktifkan Apache dan MySQL di XAMPP.

Membuat Proyek Laravel

  1. Buat folder baru di desktop: laravel_multi_user.
  2. Buka terminal dan navigasikan ke folder tersebut.
  3. Jalankan perintah:
    composer create-project laravel/laravel .
    
  4. Tunggu hingga proses download selesai.

Pengaturan Database

  1. Buka phpMyAdmin di browser: localhost/phpmyadmin.
  2. Buat database baru: laravel_multi_user.
  3. Edit file .env untuk menghubungkan Laravel dengan database:
    • DB_CONNECTION=mysql
    • DB_DATABASE=laravel_multi_user
    • DB_USERNAME=root
    • DB_PASSWORD=

Membuat Struktur Tabel

  1. Edit file migrasi untuk tabel users:
    • Tambahkan kolom role dengan tipe enum (operator, keuangan, marketing). Default: operator.
    • Jalankan migrasi:
    php artisan migrate
    

Seeder untuk Tabel Users

  1. Buat seeder baru:
    php artisan make:seeder DummyUserSeeder
    
  2. Isi seeder dengan data dummy untuk 3 role:
    • Operator
    • Keuangan
    • Marketing
  3. Jalankan seeder:
    php artisan db:seed --class=DummyUserSeeder
    

Membuat Controller dan Route

  1. Buat controller:
    php artisan make:controller SesiController
    
  2. Tambahkan fungsi index dan login dalam SesiController untuk menangani login.
  3. Daftarkan routes di web.php:
    • GET untuk index
    • POST untuk login

Membuat Form Login

  1. Buat file view: login.blade.php di folder resources/views.
  2. Tambahkan form untuk email dan password.
  3. Tambahkan validasi di SesiController untuk email dan password.

Implementasi Middleware

  1. Buat middleware untuk mengecek apakah pengguna sudah login:
    php artisan make:middleware CheckLogin
    
  2. Daftarkan middleware di kernel.php.
  3. Gunakan middleware di route yang membutuhkan autentikasi.

Pengaturan Routing untuk Role

  1. Buat route untuk masing-masing role (admin, operator, keuangan, marketing).
  2. Tambahkan middleware UserAccess untuk membatasi akses berdasarkan role.

Membuat Tampilan Admin

  1. Buat file view: admin.blade.php untuk tampilan admin.
  2. Tampilkan menu berdasarkan role pengguna yang sedang login (operator, keuangan, marketing).

Kesimpulan

  • Proses mengimplementasikan multi-user di Laravel melibatkan pembuatan role, middleware, dan tampilan yang dinamis berdasarkan hak akses pengguna.
  • Diharapkan tutorial ini bermanfaat dan dapat dikembangkan lebih lanjut.