alexa-tracking

tentang user dan usergroup php

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/53a232a0a3cb17a2258b45db/tentang-user-dan-usergroup-php
tentang user dan usergroup php
selamat pagi gan....

ane mengalami kendala dalam hal user dan usergroup gan. barang kali para master di sini berbaik hati memberi tahu cara membuat user dan user group yang benar. ane belum tahu metode yang benar terkait user dan usergroup. emoticon-Ngakak

selama ini saya menggunakan menggunakan 2 table dalam mengatur user dan kewenangan. table pertama, yaitu table user yang berisi data user. didalamnya ada satu field yang menentukan usergroup dia. kemudian table yang kedua yaitu table usergroup. didalamnya ada field nama group dan kewenangannya. nah pada field kewenangan inilah menu-menu yang boleh di akses oleh user dimasukkan dalam bentuk string yang dipisahkan dengan koma.

Relasinya sbb :

tentang user dan usergroup php

form inputan untuk kewenangan berbentuk checkbox yang kemudian dikumpulkan menjadi array dan di implode menggunakan delimiter koma.

data kewenangan ini yang disimpan dalam session saat user login dan dipakai untuk menentukan dia berhak melihat suatu halaman atau tidak.

kendalanya yaitu ketika kewenangannya sangat banyak tentu data yang disimpan dalam session makin besar. kemarin kejadiannya aplikasi gagal menyimpan session yang besar emoticon-Sorry. sebenarnya udah solved dengan cara menyimpan data session dalam table kemudian ane akses tabel saat diperlukan.

yang ane bingung, bagaimana cara membuat user dan usergroup yang benar. apakah memang seperti itu atau ada cara lain yang lebih smart... mohon para master berbagi sedikit ilmu... emoticon-Blue Guy Cendol (L)
kalau situasinya sesuai gambaran saya, yaitu ada bbrp grup, misal admin, admin2, dst, dan masing2 grup punya hak akses sendiri, maka mending script kita mengcache hak akses tiap grup ke dalam file txt / APC (kalau terinstall di server).

Lalu tiap proses load view, dari user kita cukup tahu "id_usergroup" nya saja (berarti session cukup menyimpan user id + id usergroup + data user lain yg diperlukan).

hak aksesnya sendiri diload dari cache, bukan dari session emoticon-Smilie
Quote:



nah itu dia ane belum paham penggunaan cache.. emoticon-Ngakak
KASKUS Ads
image-url-apps
kalo gw jadi TS, gw akan buat 1 column yg menyimpan hak akses tertentu. di tiap halaman akan ada fungsi filter sesuai dengan hak akses itu untuk mencegah user yg tidak punya hak akses.

kalo menurut gw sih hak akses gak ada hubungannya dengan session, cookie atau cache..
Quote:
memang nggak ada hub, tapi penyimpanan hak akses di session / cache utk mempercepat proses, daripada tiap pageview load ke database terus emoticon-Big Grin

kecuali aplikasi ini utk kalangan internal dan penggunannya nggak banyak.
image-url-apps
mungkin pakai role based access control
image-url-apps
Quote:

kalo penggunaan banyak apakah gak buang2 resource kalo pake session?
klo saya lebih pilih simpan di browser dengan cookie

atau mungkin disimpan di form html nya aja?

include

di include 1 file isinya array untuk mengecek otorisasi group
maaf kalo dirty code contohnya
PHP Code:
function bolehmasuk($fasilitas$group)
{
 
// switch
 
switch($fasilitas){
 case 
"tagihan":
  
$boleh = array("admin","keuangan");
  break;
 case 
"pinjaman":
  
$boleh = array("admin","sekertaris");
  break;
 default:
  
$boleh = array("developer");
  
//return false;
  
break;
 }
 
// cek ada gak di dalam array
 
if (in_array($group$boleh)){
 
//echo $group."boleh liat fasilitas ".$fasilitas; // untuk debug development
 
return true;
 }
 else {
 return 
false;
 }
 


nanti tinggal cek otoritasnya user x dari group admin mau lihat fungsi tagihan
PHP Code:
// contoh admin dapet dari session aja

if (bolehmasuk("tagihan","admin"))
{
 echo 
"lanjut";
}else{
 echo 
"gak boleh liat";


nanti tinggal cek otoritasnya user y dari group sekertaris mau lihat fungsi tagihan
PHP Code:
if (bolehmasuk("tagihan","sekertaris"))
{
 echo 
"lanjut";
}else{
 echo 
"gak boleh liat";


cukup groups aja yang ambil dari session