Di artikel yang sebelumnya kita sudah membahas bagaimana mudahnya Web Developer dapat mengijinkan Pengguna untuk melihat record milik Pengguna lain pada Aplikasi Web yang dibangkitkan oleh PHPMaker. Di artikel yang ini kita akan melanjutkan mengenai teknis pemanipulasian User ID atau ID Pengguna yang bertujuan di samping untuk mengijinkan Pengguna mengakses record milik Pengguna lainnya, juga membatasi record-record tertentu yang dapat diakses oleh Pengguna.
PHPMaker telah menyediakan sebuah server event yang bernama UserID_Loaded, yang berada di lokasi: Server Events -> Global -> All Pages. Seperti namanya, server event ini dijalankan setelah Pengguna berhasil login dan setelah sistem memuat User ID (ID Pengguna) beserta ID Pengguna anak dari Pengguna tersebut (jika tersedia).
ID Pengguna ini menentukan record-record yang mana saja yang dapat diakses oleh Pengguna. Artinya, server event ini memungkinkan untuk memanipulasi ID Pengguna dari Pengguna yang berhasil login tadi (dengan cara menambahkan dan atau menghapus ID Pengguna tertentu), sehingga dia dapat mengakses record lainnya atau bahkan mengurangi akses terhadap record lain, dengan tetap menggunakan ID Pengguna-nya yang semula. Perlu diingat, bahwa server event ini merupakan member dari Class Security. Anda sebagai Web Developer dapat mengakses member lainnya secara langsung di class tersebut (jika dibutuhkan).
Perbedaan antara server event UserID_Loading dan UserID_Loaded adalah bahwa yang terakhir memungkinkan Aplikasi Web untuk melakukan aksi seperti menambahkan atau menghapus ID Pengguna yang sudah dimuat oleh sistem untuk Pengguna yang sudah berhasil login, sehingga Pengguna tersebut dapat mengakses lebih banyak atau bahkan lebih sedikit record dari yang seharusnya dia bisa akses dengan menggunakan ID Penggunanya semula yang sudah dimuat.
Sekarang mari kita lihat contoh berikut ini. Anda sebagai Web Developer dapat menambahkan ID Pengguna milik Pengguna lain, sehingga Pengguna tersebut dapat mengakses lebih banyak record (record yang dapat diakses oleh Pengguna lain tadi).
function UserID_Loaded() { if (CurrentUserName() == "nancy") $this->AddUserID($this->GetUserIDByUserName("janet")); }
Dalam contoh kode tersebut, sistem akan memeriksa apakah Pengguna yang sudah berhasi Login memiliki Username = nancy, dan jika iya, maka Pengguna tersebut dapat menggunakan ID Pengguna milik Pengguna lainnya yang memiliki Username janet. Artinya, Pengguna nancy dapat mengakses record yang bisa diakses oleh Pengguna janet.
Untuk menambahkan ID Pengguna milik Pengguna lain, maka Anda sebagai Web Developer dapat menggunakan method AddUserID yang memiliki satu parameter yaitu User ID atau ID Pengguna. Hal yang sama juga berlaku untuk method DeleteUserID untuk menghapus ID Pengguna.
Enaknya lagi, PHPMaker pun sudah menyediakan method untuk mendapatkan ID Pengguna berdasarkan Username dari Pengguna tertentu. Method tersebut adalah GetUserIDByUserName dengan parameter berupa Username milik Pengguna. Hal ini sangat berguna jika Anda ingin mendapatkan ID Pengguna milik Pengguna tertentu berdasarkan data Username-nya.
Mudah dan cepat sekali, bukan? 🙂
Tinggalkan Balasan