Membatasi Penyajian Data di Tabel dengan Mendeteksi Permission User

druid's picture

Dalam modul Demo Sistem Informasi Advanced, kita bisa bebas menyajikan sesuatu berdasarkan permission user aktif (yang sedang login). Ternyata caranya sangat mudah sekali, yaitu cukup menggunakan fungsi user_access(). Fungsi juga sudah sering kita gunakan di dispatcher, dan bisa kita manfaatkan untuk keperluan apapun, contoh:

  • Tombol aksi delete hanya tampil jika user memiliki permission "admin".
  • User dengan permission "admin" dapat melihat semua data.

Catatan: Seluruh contoh kode di tutorial ini diambil dari source code Demo Sistem Informasi Advanced.

Sekadar menyegarkan, seluruh permission yang ada dalam suatu module ada di fungsi dengan akhiran _perm(). Jangan lupa untuk mengeset permission tiap role di menu "Access Control" di halaman Admin. Contoh dalam modul ini:

function dqs_demo2_perm() {
return array('dqs_demo2 user', 'dqs_demo2 admin');
}

Cara membuat pembatasan penyajian data adalah menggunakan fungsi user_access() untuk membedakan SQL. Contoh: seorang admin dapat melihat semua data, jika tidak maka dibatasi hanya data yang dibuat oleh user tersebut. Perhatikan bahwa di tabel dqs_demo2 terdapat field created_uid yang berisi uid user yang membuat data. Field ini diisi pada fungsi dqs_demo2_form_submit().

Contoh kode untuk menggunakan user_access():

// admin bisa melihat semua data
if (user_access('dqs_demo2 admin')) {
// SQL code for admin here...
} else {
// SQL code for non-admin here...
}

Belum terlalu rumit ya, selamat mengembangkan sistem informasi dengan fitur hak akses user yang keren Smiling


Comments

[Help]Membuat menu hover

Kaka saya lagi belajar drupal neh, pengen bikin menu prima link yar bisa hover gimana yah??

Misal menu Programing, nanti subnya berisi C++, Delphi, VB dll,.. Cra bikinnya gimana yah???


Tutorial Module Drupal 6

Memenuhi harapan dari member, sekarang seluruh tutorial DQS sudah kompatibel dengan Drupal 6. Klik disini untuk detailnya.

Live Buddies

There are currently 0 users and 1 guest online.

DQS Members

  • Registered Users: 466

Partners

GrowUrl.com - growing your website