Catatan Belajar Django PART 2: ACL
ACL atau Access Control List adalah daftar terkait hak akses terhadap user, biasanya menyangkut dengan kemampuan read, write, delete. Untuk django sendiri acl ini sudah built in, setidaknya ada 3 role di dalam django
Super user: user dengan level ini terbuka ke semua akses
Staff: user dengan level ini diizinkan untuk masuk admin/dashboard
User: user dengan level ini hanya tercatat sebagai user tapi tidak memiliki akses menuju halaman admin.
Selain dari level role juga terkait akses atau permission dari fungsi, misal untuk level staff si “A” itu bisa membuat tulisan tapi gak bisa hapus, sedangkan si “B” bisa sampai delete.
Permission
Untuk menambahkan akses kepada user secara spesifik kita bisa menggunakan fitur permission di django, pertama saat bikin atau update user kita bis amemilih permission apa saja yang akan kita gunakan
Sesaat sebelum dikasih akses
Sesudah diberi akses
Note: setelah diganti permission user arus logout dulu dan login lagi
Groups
Sederhananya groups ini pengelompokan untuk level yang punya hak akses sama, misal kita ingin punya sebuah group creator dan moderator, levelnya sebagai berikut:
Creator: Tidak punya akses hapus
Moderator: Punya semua akses content sampai hapus
Caranya adalah, cukup tambahan group di menu groups, dan tambahkan permission group tersebut
Nantinya di form user kita bisa memilih group saja daripada memilih satu-satu permission. Walaupun kita udah menambahkan group tapi tetap mau nambahin permissions di luar group masih bisa.
Untuk permission ini bisa lebih detail lagi terkait custom permission ataupun menambahkan custom di fungsi admin seperti `has_change_permission`, `has_add_permission`
Untuk terkait ini mari bahas di lain hari ~