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

permissions

Sesaat sebelum dikasih akses

No access

Sesudah diberi akses

have access

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

create group

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.

add groups

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 ~

Show Comments