Postingan lainnya
Membuat custom Autentikasi pada laravel, dengan nama table non users ex: account,admin,etc...
Halo semua, mau tanya bagaimana cara menyimapn session pada table untuk autentikasi dengan nama table bukan users? Contoh : account,admin, dll?
dari desain dari database, yang sudah saya implementasikan, untuk register tidak ada masalah, tetapi untuk login ada masalah, ketika saya menggunakan Auth::attemp() untuk pengecekan login, dia berhasil, namun hanya berlaku di controller login tersebut saja, tidak ada session yang tersimpan di dalam browser. Jadi setelah login berhasil, dan redirect ke view, property user pada Auth::user() adalah null.
Dari yang sudah saya coba cari, masalah nya seperti nya karena table untuk autentikasi saya bukan users, tetapi account, dan sejauh ini solusi yang saya dapatkan itu menambah guard baru untuk model dan table account tersebut. Solusi tersebut sudah saya coba juga, tetapi hasil nya masih nihil.Desain database
ketika saya coba dd Auth::user pada controller, berhasil untuk validasi dan mendapatkan user nya, namun session nya tidak ada pada view
hasil saat dump database
2 Jawaban:
<div>Kenapa gak pake role permission aja mas untuk bedain level dari setiap user ? Mksdnya disini, tetap pake table user nanti yang bedain setiap usernya role itu sendiri. Disini saya lihat penggunaan role sendiri belum terlalu efektif apabila hanya untuk menampilkan label role itu sendiri di frontend. Ada baiknya ini juga di pakai sebagai pemisah dari setiap level user nantinya. Sebagai referensi, saya selalu pakai Laravel Permission dari spatie untuk menghandle seluruh kegiatan roles, jadi nanti kita tinggal taruh middleware atau restriction access di controller, blade maupun route kita. <br>Source : https://spatie.be/docs/laravel-permission/v5/introduction</div>
Tanggapan
Kebetulan karena di wajibkan untuk mengikuti desain database dari dosen mas, jadi tidak boleh berbeda dengan desain database yang diberikan
<div>-----Solved-----<br><br>Ternyata perlu memberikan $primaryKey = 'account_id' pada model user, dikarenakan secara default model akan mencari kolom id yang mana tidak dapat di temukan pada tabel tersebut</div>