Ketika sebuah aplikasi web digunakan oleh banyak Pengguna yang memiliki Hak Akses berbeda antara satu dengan lainnya, maka sudah saatnya melakukan pengelolaan pembagian hak akses berdasarkan fungsi atau Peran dari Pengguna di aplikasi. Biasanya dalam bahasa Indonesia, hal ini disebut dengan Peran Berdasarkan Hak Akses, atau dalam istilah web applications sering disebut dengan RBAC.
RBAC merupakan singkatan dari Role Based Access Control. RBAC memisahkan konsep Pengguna, Peran, dan Hak Akses. Ketiganya didefinisikan secara terpisah; sebagai tiga buah entitas atau object di dalam sistem aplikasi. Pengguna yang memiliki level (dalam hal ini bisa disebut juga sebagai Peran) tertinggi, dan biasanya disebut dengan “Admin” atau “Administrator”, memutuskan suatu Peran diijinkan untuk melakukan aksi-aksi tertentu (seperti: Tambah, Ubah, Hapus, Cari, Export Data, Tampilan, dsb). Kumpulan dari aksi-aksi tadi dalam hal ini kita sebut dengan istilah Hak Akses. Untuk setiap Peran yang sudah ada tadi selanjutnya ditugaskan atau direlasikan kepada Hak Akses yang sesuai dengan perannya. Dan yang terakhir adalah, Pengguna diberikan Peran sesuai dengan fungsi dan tanggung jawabnya (yang telah diwakili oleh Hak Akses). Supaya tidak bingung, mari kita simak contoh berikut ini.
Katakanlah di sebuah aplikasi web, Admin mendefinisikan ada 3 Peran, yaitu: “Operator”, “Manager”, dan “Admin”. Masing-masing dari ketiga Peran tadi tentu saja memiliki Hak Akses yang berbeda sesuai dengan pekerjaan dan tanggung jawabnya di aplikasi. Dalam hal ini, “Operator” hanya diijinkan untuk menambah data transaksi “Pesanan” dan “Detail Pesanan”. “Manager” hanya diijinkan untuk melihat data transaksi dan melakukan perubahan (ubah dan hapus) data semua transaksi. Sedangkan “Admin” sebagai level tertinggi di aplikasi tersebut tentu saja dapat melakukan semua kegiatan di aplikasi, seperti menambah, mengubah, menghapus, mencari, menampilkan data transaksi, termasuk mengelola data Pengguna itu sendiri.
Dari ketiga Peran tadi, ternyata ada 10 orang pengguna di aplikasi tersebut. Katakanlah si A, B, C, D, E, F, G, H, I, dan J. Kesepuluh pengguna tadi harus dikelompokkan ke dalam 3 Peran tadi. Misalkan: yang berperan sebagai “Operator” adalah: A, B, C, D, dan E. Sedangkan yang berperan sebagai “Manager” adalah: F, G, H, dan I. Terakhir, yang berperan sebagai “Admin” adalah J.
Dengan menggunakan metode pembagian Peran dan Hak Akses seperti di atas tadi, maka Admin bisa dengan mudah mengatur pembagian Hak Akses untuk Pengguna tertentu berdasarkan Peran-nya. Pembuatan relasi di antara ketiga entitas tersebut tentu saja dapat dengan mudah dilakukan dengan menggunakan konsep RBAC tadi.
Selain itu, Admin tidak mengalami kesulitan jika suatu saat ada penambahan Pengguna yang baru, dengan Peran dan Hak Akses yang baru pula, selain yang sudah ada di atas. Artinya, sistem memungkinkan fleksibilitas perubahan pembagian Hak Akses untuk Peran tertentu, tanpa harus menulis ulang atau mengubah kode program untuk menangani kebutuhan setiap Pengguna secara individu.
Bahkan, di beberapa aplikasi web lainnya, ada juga yang mengembangkan fitur RBAC ini dengan pemberian Hak Akses terhadap Menu atau halaman tertentu, sekalipun Pengguna sama sekali tidak memiliki akses terhadap halaman yang menampilkan semua profil Pengguna. Contoh: Pengguna yang berperan sebagai “Operator” dan “Manager” tidak diijinkan sama sekali membuka atau mengakses halaman yang menampilkan seluruh data Pengguna, tapi mereka hanya dapat melihat dan mengubah data profil mereka sendiri. Semuanya tentu tergantung kepada kebutuhan dari aplikasi itu sendiri.
Di sinilah betapa pentingnya aplikasi web yang kita kembangkan harus mengakomodir kebutuhan RBAC ini.
Nah, pertanyaannya adalah, sudahkah di aplikasi web yang Anda kembangkan menangani pembagian Peran dan Hak Akses untuk Pengguna? 🙂
deval mengatakan
mau nanya kak, kalau misalnya beberapa user memiliki beberapa peran sekaligus apakah bisa dilakukan di phpmaker?
misalnya user a dan c selain operator dia juga mempunyai role sebagai admin.
Masino Sinaga mengatakan
Kalau di PHPMaker 2020 sudah ada role admin yang bisa diberikan ke user non-admin, yaitu dari halaman yang dibangkitkan bernama userpriv.php.
widyastuti mengatakan
bagaimana solusinya pada hak akses peran nya selalu muncul 0 pada saat diklik atau pilih kepala sekolah
Masino Sinaga mengatakan
Munculnya di bagian mana? Di halaman apa?