Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / Web Development / Bagaimana Menangani Pengguna, Peran, dan Hak Aksesnya di Aplikasi Web
Seberapa Efektif Anda Mengelola Data Master/Detail dan Master/Multi-Detail?
Ragam Pilihan Metode Pendaftaran Akun Pengguna

Bagaimana Menangani Pengguna, Peran, dan Hak Aksesnya di Aplikasi Web

Maret 4, 2014 oleh Masino Sinaga 5 Komentar

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? 🙂

Ditempatkan di bawah: Web Development Ditag dengan:Admin, Administrator, hak akses, level pengguna, pengguna, peran, PHPMaker Indonesia, RBAC, Role Based Access Control

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Seberapa Efektif Anda Mengelola Data Master/Detail dan Master/Multi-Detail?
Ragam Pilihan Metode Pendaftaran Akun Pengguna

Comments

  1. deval mengatakan

    Januari 28, 2020 pada 2:16 pm

    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.

    Balas
    • Masino Sinaga mengatakan

      Januari 31, 2020 pada 7:10 pm

      Kalau di PHPMaker 2020 sudah ada role admin yang bisa diberikan ke user non-admin, yaitu dari halaman yang dibangkitkan bernama userpriv.php.

      Balas
  2. widyastuti mengatakan

    Desember 2, 2020 pada 4:39 am

    bagaimana solusinya pada hak akses peran nya selalu muncul 0 pada saat diklik atau pilih kepala sekolah

    Balas
    • Masino Sinaga mengatakan

      Desember 2, 2020 pada 7:13 am

      Munculnya di bagian mana? Di halaman apa?

      Balas

Trackbacks

  1. Mudahnya Menerapkan Hak Akses yang Dinamis di Aplikasi Web dari PHPMaker – Masino Sinaga berkata:
    Mei 20, 2014 pukul 8:09 am

    […] lengkap dan demikian hebatnya di Aplikasi Web yang dibuat olehnya. Di antaranya menerapkan konsep RBAC (Role Based Access Control) untuk memudahkan Web Developer mengelola pembagian Hak Akses berdasarkan Peran yang dimiliki oleh […]

    Balas

Tinggalkan Balasan ke Mudahnya Menerapkan Hak Akses yang Dinamis di Aplikasi Web dari PHPMaker – Masino Sinaga Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2019 | WordPress | Catat masuk | Kembali ke atas