PHPMaker adalah tools PHP Code Generator yang dapat membangkitkan kode PHP untuk Aplikasi Web Anda dengan sangat cepat berdasarkan object-object yang terdapat di database, seperti Table dan View. PHPMaker menggunakan istilah Table untuk lebih menyederhanakan object-object database tersebut, sehingga object View sering kali disamakan dengan istilah Table.
Untuk setiap Table, maka PHPMaker dapat membatasi Pengguna untuk menggunakan Hak Akses yang tersedia di Table tersebut. Aplikasi Web harus memiliki kemampuan untuk membatasi Hak Akses Pengguna di level Table tadi. Alasannya sederhana saja, karena tidak semua Hak Akses yang terdapat di sebuah Table dapat diberikan untuk semua Pengguna.
PHPMaker telah menyediakan server event yang bernama TablePermission_Loading yang lokasinya berada di bawah Server Events -> Global -> All Pages dalam project PHPMaker Anda. Sesuai dengan namanya, server event ini dijalankan sebelum Hak Akses Pengguna untuk Table yang terdapat di dalam halaman yang sedang dimuat oleh sistem. Anda sebagai Web Developer dapat mengganti atau menambahkan User Level lainnya untuk Pengguna yang sedang mengakses Aplikasi Web.
Sekedar mengingatkan, istilah User Level di sini sama dengan istilah Role (Peran) di RBAC (Role Based Access Control).
Server event ini merupakan member dari Class Security. Anda dapat menggunakan member lainnya yang terdapat di class ini (jika dibutuhkan).
Penting untuk diingat juga, bahwa server event ini dijalankan hanya untuk Table yang terdapat di halaman yang sedang dimuat. Jika Anda mengganti Hak Akses yang terdapat di Table lainnya melalui server event ini, maka itu tidak akan ada efeknya bagi Table lain tersebut. Gunakanlah server UserLevel_Loaded jika Anda ingin mengganti Hak Akses di Table lainnya.
Di contoh berikut, Anda sebagai Web Developer dapat menambahkan User Level lain dan mengijinkan Pengguna tersebut memiliki Hak Akses selain yang sudah dimiliki oleh Pengguna tersebut.
function TablePermission_Loading() { if (CurrentUserName() == "nancy") $this->AddUserLevel("Manager"); }
Kode tersebut melakukan pemeriksaan jika Username Pengguna = nancy, maka tambahkan User Level Manager dengan menggunakan method AddUserLevel yang juga merupakan member dari class Security. Artinya, jika si nancy awalnya hanya memiliki User Level Operator, maka sekarang dia juga memiliki User Level Manager, sehingga di samping dia dapat menggunakan Hak Akses yang dimiliki oleh User Level Operator, dia juga memiliki Hak Akses yang dimiliki oleh User Level Manager.
Dengan menggunakan server event TablePermission_Loading, maka Anda sebagai Web Developer dapat melakukan aksi-aksi tertentu yang terdapat di dalam class Security, seperti contoh di atas menambahkan User Level tertentu, hanya untuk Table yang sedang dimuat di halaman yang sedang diaksesnya.
Mudah sekali, bukan? 🙂
Tinggalkan Balasan