👥

Tutorial Manajemen Pengguna di Laravel

Aug 8, 2024

Tutorial Multiple User dengan Laravel

Pengenalan

  • Pembicara: Niko Dwi Novianto
  • Topik: Tutorial multi user di Laravel
  • Menggunakan paket Laravel Permission dari Spati
  • Tujuan: Mempermudah manajemen permission dan role pengguna

Kenapa Menggunakan Laravel Permission?

  • Kelebihan: Menghindari kerumitan penulisan kode manual untuk pengelolaan permission dan role yang kompleks.
  • Contoh Struktur:
    • Tabel User
    • Tabel Role
    • Penggabungan user dengan role

Rencana Tutorial

  1. Instalasi Laravel Permission
  2. Integrasi permission ke model user
  3. Membuat permission baru
  4. Memberikan permission kepada role
  5. Menetapkan user ke role tertentu
  6. Memanfaatkan Laravel Gate
  7. Membuat pembatasan route
  8. Membuat custom action untuk permission
  9. Membuat custom exception untuk permission
  10. Pembatasan view dengan Blade directive

Instalasi Laravel Permission

  • Sesuaikan dengan versi Laravel yang digunakan.
  • Gunakan composer require untuk menginstall paket.
  • Setelah install, publish migration untuk tabel permission dan role.

Pengaturan Model User

  • Tambahkan trait untuk permission di model user.
  • Contoh:
    use Spatie\HasRoles;
    

Proses Pembuatan Role dan Permission

  • Membuat role dengan method updateOrCreate untuk menghindari duplikasi.
  • Memberikan permission ke role yang telah dibuat.

Contoh Permission

  • view dashboard untuk admin
  • view chart untuk writer

Mengasosiasikan User dan Role

  • Pengguna dapat memiliki lebih dari satu role.
  • Contoh:
    • User A hanya memiliki Role A
    • User B memiliki Role A, B, dan C

Memanfaatkan Middleware dengan Laravel Gate

  • Membuat pembatasan akses berdasarkan permission.
  • Pengguna yang tidak memiliki permission akan mendapatkan error 403.

Custom Exception

  • Menangani error ketika akses tidak diizinkan.
  • Mengarahkan pengguna ke halaman yang sesuai dengan pesan yang relevan.

Pembatasan View dengan Blade Directive

  • Menggunakan metode @can di Blade untuk menampilkan konten sesuai permission.
  • Contoh:
    @can('view dashboard')
        <!-- Tampilkan dashboard -->
    @endcan
    

Kesimpulan

  • Tutorial memberikan panduan untuk implementasi multiple user di Laravel.
  • Sangat berguna untuk aplikasi dengan kebutuhan kompleks dalam manajemen user.
  • Penting untuk terus belajar dan mengembangkan fitur sesuai kebutuhan aplikasi.