Auth juga diberikan kondisi pak dimana jika sudah login harus di redirect ke halaman default karena jika tidak diberikan maka akan menampilkan halaman login atau register lagi. Untuk kondisi Auth tidak diletakkan pada construct() namun diletakkan pada method index() dan register(). Jika kondisi diletakkan pada Auth maka pada saat mau logout maka akan di rediect ke halaman default dan akhirnya tidak bisa logout. public function goToDefaultPage() { if ($this->session->userdata('role_id') == 1) { redirect('admin'); } else if ($this->session->userdata('role_id') == 2) { redirect('user'); } else { // jika ada role_id yg lain maka tambahkan disini } } kemudian letakkan function di atas di method index() dan register() dengan cara $this->goToDefaultPage();
minta tolong nih pak...yunior dan pak shandika...saya punya masalah nih..... kenapa ketika masuk login admin kok larinya ke auth/blocked ya...ada yg bisa membantu...please...
@@JuniorIqfar udah ketemu...udah saya coba...pada Controller admin tak perlu adanya contruct ya... public function __construct() { parent::__construct(); is_logged_in(); }
izin menambahkan pa Dhika.. barangkali ada yang masih mengalami access blocked ketika login user coba gunakan kode ini hanya untuk controller admin dan menu saja - public function __construct() { parent::__construct(); is_logged_in(); } - untuk controller user tetap menggunakan kode ini - public function __construct() { parent::__construct(); if (!$this->session->userdata('email')) { redirect('auth'); } }
Guru sejuta umat,, penjelasan pak sandhika galih memang yg paling bagus dari semua chanel tentang programming yg pernah saya liat. Saya yg awam jadi banyak mengerti karena cara penjelasannya yg terstruktur. Setiap saya nonton chanel ini saya tdk pernah skip iklannya 😇
Untuk yang mencari pemecahan masalah ketika menambah menu baru. (========================) Ketika di akses sub menu nya hasil nya adalah access forbidden. (========================) Hal yang harus diperhatikan yaitu 1. Controller = nama menu Artinya nama controller tidak sembarangan. Itu saja yang bisa saya bantu untuk yang nanti mencari error seperti ini. Semoga membantu😆😆
punten pak saya ga pake helper, di controller auth saya tambahkan code di index dan registration yaitu: //agar kalo sudah masuk tidak bisa login/regis if ($this->session->userdata('role_id') == 1) { redirect('admin'); } else if ($this->session->userdata('role_id') == 2) { redirect('user'); } else { // jika ada role_id yg lain maka tambahkan disini } lalu saya buat method baru: //function ini dipanggil di controller user, admin dan menu. misal kalo login admin, tidak masuk sebagai user. public function goToDefaultPage() { if ($this->session->userdata('role_id') == 1) { redirect('admin'); } else if ($this->session->userdata('role_id') == 2) { redirect('user'); } else { // jika ada role_id yg lain maka tambahkan disini } } } controller user: public function __construct() { parent::__construct(); if (!$this->session->userdata('email')) { redirect('auth'); // ini kalo belum login } else if ($this->session->userdata('role_id') == 1) {
redirect('auth/goToDefaultPage'); //panggil function } } controller admin dan menu sama: public function __construct() { parent::__construct(); if (!$this->session->userdata('email')) { redirect('auth'); } else if ($this->session->userdata('role_id') == 2) { redirect('auth/goToDefaultPage'); } }
mantappp, awalnya gw error kalo is_logged_in(); ditaro di user. nah kalo gak dipake is_logged_in(); di user, nanti bisa akses user tanpa login. akhirnya gw ikutin cara lo bang, di user jadi kaya gini -> public function __construct() { parent::__construct(); //is_logged_in(); if (!$this->session->userdata('email')) { redirect('auth'); // ini kalo belum login } else if ($this->session->userdata('role_id') == 1) { redirect('auth/goToDefaultPage'); //panggil function } }
setelah berteman sama error seharian tentang helper yang ngeblokked saat membuat menu baru, alhmdulilah udh ada solusinya.. hehehehe.. terimakasih pak dika setelah memahami lebih mendalam maksud logika dari helpernya :)
_helper yang dibuat oleh pak dika udah sangat-sangat benar hanya kita harus memahami logika yang digunakan di helper tersebut, disana bahwa $menu yang dibaca berasal dari url (segment(1)) dari tiap controller yang telah dibuat itu harus sama dengan $menu_id dari tabel menu.. jadi, intinya nama controller yang dibuat harus sama dengan nama menu yang akan dibuat.. semoga membantu... @@muhammadalfi9670
Saat meembuat alamat url kn controler/method ya nah nma controller yg dibuat pas diurl hrus sama dengan controller yg akan dibuat di program kita begitu juga dgn methodya.. semoga membantu ka@@raisandika772
pak sandika emang mantap....saya jadi tahu html,css,js,php,oop,mvc dan cara menggunakan bootstrap dan materialize di codeigniter.....tutorialnya emang ok.
metode ini cocok jika sub menu kita sedikit, jika sub menu kita banyak , kontroler kita akan tidak rapi, untuk solusi bisa di tambahkan 1 field lagi di table user_sub_menu dengan nama level, dan mengganti fungsi is_logged_in() dengan function user_level(){ $ci = get_instance(); if (!$ci->session->userdata('email')){ redirect('auth'); } else{ $role_id = $ci->session->userdata('role_id'); $menu = $ci->uri->segment(1); $queryMenu = $ci->db->get_where('user_sub_menu', ['level' => $menu])->row_array(); // var_dump($role_id); // var_dump($queryMenu['menu_id']); // die; $menu_id = $queryMenu['menu_id']; $userAccess = $ci->db->get_where('user_access_menu', [ 'role_id' => $role_id, 'menu_id' => $menu_id ])->row_array(); // var_dump($userAccess); // die; if (empty($userAccess)) { redirect('auth/blocked'); } } }
SOLVED mas, jadi di tabel user_sub_menu ditambah field level. Ini menjawab masalah saya ketika saya menambah menu dan submenu baru yang tidak bisa diakses walaupun di tabel user_access_menu sudah diset mana saja yang dapat mengakses itu yang mengakibatkan selalu kelempar ke "auth/blocked". Dan benar ini nantinya akan membuat controller kita lebih rapi. Terima kasih mas semoga ini di pin oleh Pak Dika
Apakah cara ini bisa diterapkan jika kita menggunakan routes untuk mengubah nama url nya? Karena setelah saya buat routes, banyak menu yg ke redirect ke auth/block.
Kenapa ya pas login sebagai user maupun admin malah diarahkan ke halaman blocked? Pusing banget, masih belum nemu salahnya dimana. Nama controller sama yang ada di database udah sama.
yang aneh di punya saya, ketika login sebagai admin, langsung redirect ke controller auth/blocked kenapa ya? kalo ke controller menu bisa, padahal sama2 ada is_logged_in(). awalnya ga ada masalah, tapi tiba2 ga bisa lagi, sy cb pake firefox sama juga
SOLVED Nama menu yg Dashboard harus diganti Admin, karena $ci->uri->segment(1) = admin. klo beda nama jadinya ga ketemu. trims teman2 yg udah jawab di bawah
maaf pak dina mau nanya ada yang eror kasusnya pada saya ketika menambah submenu baru yang url controllernya baru itu gk mau masuk ketka fungsi is_logged_in(); di taruh maka ketika menu itu diklik dia langsung bloked padahal di role sudah di izinkan.
Semua scrip udah jalan pak tapi ketika saya tambahin controler dan menu baru tapi tidak bisa d akses auth/blocked. Tapi jika saya hilangkan is_logged_in bisa d akses tapi semua bisa akses. Solusinya gimana pak buat nambah menu dan controler baru agar hak akses nya bisa kita batasi
untuk function is_logged_in fungsi if nya saya balik baru bisa. pak sandika function is_logged_in() { $ci = get_instance(); $role_id = $ci->session->userdata('role_id'); $menu = $ci->uri->segment(1); $queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array(); $menu_id = $queryMenu['id']; $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]); if ($userAccess->num_rows() < 1) { redirect('auth/blocked'); } elseif (!$ci->session->userdata('email')) { redirect('auth'); } } kenapa bisa begitu yah...?
kenapa yang punya saya sudah mengikuti sesuai dengan tutorial pak sandhika dan sudah saya cek berulang kali, tapi saat dicoba mengakses /admin, /user, dan /menu melalui url tetap dapat diakses, mohon bantuannya
Pak Galih, kalau boleh request pengembangan dari sesi Sistem Login Lengkap ini materi tentang pengaturan hak akses ke sebuah method atau fungsi dalam controller juga... Simulasi kasusunya, misal si-A rolenya sebagai marketing, akan tetapi dia hanya bisa menginput data target penjualannya saja dan melihat data2 yang sudah dia input, tapi dia tidak bisa mengakses data2 yang telah di input oleh si-B, dimana si-B juga memiliki role yg sama sebagai marketing. Semoga bisa di tangkap maksudnya :) Terimakasih atas share ilmunya 👌👌
terima kasih pak atas ilmu nya pak, ketika kita sudah login seharus nya kita juga tidak bisa mengakses controller auth, di vidio ini kita masih bisa mengakses controller auth walau sudah login. sedikit solusi dari saya dengan menabahkan if ($this->session->userdata('email')) { if ($this->session->userdata('role_id') == 1) { redirect('admin'); } else { redirect('user'); }
} di bagain index di controller auth agar ketika sudah login tidak bisa mengakses controller auth mohon maaf jika solusi saya ini masih kurang tepat.
nanya dong pak Dika, saya sucoba tambahin menu unit, tapi setelah saya tambahkan di blocked, padahal saya sudah tambahkan ke admin. tapi kalau fungsi is_logged_in(); saya hilangkan bisa ditampilkan, tapi kalau saya panggil fungsinya gak bisa pak dika.
saya solved untuk masalah blocking halaman admin, jadi value di table_menu field menu tadinya saya Administrator setelah saya ubah jadi Admin maka solved. tolong dicek lagi codingan kalian ya jangan sampai ada typo!
minta tolong nih pak...yunior dan pak shandika...saya punya masalah nih..... kenapa ketika masuk login admin kok larinya ke auth/blocked ya...ada yg bisa membantu...please..
pak, setelah sya ikuti semua dan menambahkan edit nama menu. kesimpulan saya adalah perubahan nama menu hanya boleh dilakukan oleh programmmernya sendiri. karena ia (helper wpu) mengecek nama menu di database harus sama dengan di uri segment (nama controller). jadi ketika saya mengubah nama 'menu' menjadi 'menu 2', maka ketika di get_where uri dan data db hasilnya 0. alhasil function blocked terpanggil. jadi ketika mengubah nama menu juga mengubah nama controllernya. bukan begitu pak ? atau saya yang salah ?
@@fadellll8701 jadi gimana om solusinya? nama uri segmentnya harus dirubah yaa. maka nama kontroller harus persis seperti ketika menginputkan nama url ketika menambahkan submenu yaa?
pak, saya buat menu dan submenu baru tapi kena block, gimana cara mengatasinya pak, status menu [active] sub menu [di block] saya coba pindahkan sub menu user ke menu baru bisa pak, namun sub menu baru saya tidak bisa dibuka pak!
Mohon bantuan gan $role_id gak ada isinya pada wpu_helper.php Sehingga bernilai 0, akibatnya masuk sbg admin atau user diarahkan ke auth/blocked Gmna cara mengatasi $role_id bernilai 0 Karen kondisi dalam wpu_helper.php if (userAccess < 1 ) { Redirect ('auth/blocked'); ?
ikut comment kang dika saya bikin relasi di table user dan user_role nya , dikarenakan dalam implementasi aplikasi saya , controller Auth( form login ) masih bisa di akses di tab baru dan bisa mengakses kedua user secara bersamaan, saya tidak ingin seperti ini, saya ingin ketika ada identifikasi dari session nya, maka tidak bisa login di tab baru di browsernya. jadi saya menambahkan fungsi chek_login() sebagai fungsi helper baru . ini implementasi saya di file helper dalam contoh di video ini yaitu wpu_helper:
Pak saya buat controlled untuk submenu nya di file berbeda bukan di menu. pas saya klik submenu kok kena block ya pak. padahal login admin itu kenapa ya pak?? . trus saya buat ngakalinya saya pake. if($this->session->session('role_id') != 1){ redirect('auth/blocked');}
coba cek bagian ini di helper nya mas $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id], ['menu_id' => $menu_id]); diganti jadi seperti ini mas $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]); kebetulan saya pernah dapat maslah yg sama
Pak dhika, maaf mau tanya dong,, kok disaya, sudah koding, pas masuk login, malah langsung ke halaman 'blocked' ya... Ga masuk ke halamam admin/user,,, knpa ya pak...?
@@salakhotspot3796 Baru ketemu nih mas... salahnya ada pada pengecekan id jika dilihat dari tutorial itu /* pengecekan id */ 'menu_id' => $menu_id untuk $menu_id tidak usah pakai "id" jadi cukup $menu /* pengecekan id */ $userAccess = $ci->db->get_where('user_access_menu', [ 'role_id' => $role_id, 'menu_id' => $menu ]); ini saya berhasil...
pak ada masalah di helper untuk user access menu. pada script ini if ($userAccess->num_rows() < 1) {redirect('auth/blocked');} klo menambah menu dan sub menu yang baru itu di identifikasikan block. oleh logika tersebut
@@rizkyrahmadianto1966 kk saya sudah baca semua, tpi tidak menemukan yg di mksud k Rizky. bisa tolong lebih di spesifikan di komentar yang mana yg di mksd kk?
@@sandhikagalihWPU sudah semua pak. sudah aktif semua. tapi klo menggunkan controller dari admin atau user atau menu yang sudah dibuat. bisa di akses tanpa blok. tapi klo membuat controller yang baru, ke block lagi pak.
@@agusnovian3245 kata bang Dedy di komentar lain >> nama field menu yang ada pada tabel user_menu harus sama dengan uri segmen yang ditangkap, kurang lebih nama controller nya disamakan dengan field yang ada pada tabel user_menu. jadi samakan nama controller dengan field user_menu, misalkan fieldnya id : 1,menu : Jempol maka controllernya kasih nama Jempol.php saya alhamdullilah fix bro.
mungkin bagus pak ditambahin kondisi di construct controller user if(!$this->session->userdata('role_id') == 2){ redirect('auth'); } terus nanti dia auth dibuat kondisi kalau sudah login gak bisa akses url login dan register dan akan keredirect ke controller sesuai role id
Pak.. maaf mau tanya, saya buat controller sendiri lagi tetapi ketika fungsi is_logged_in(); saya definisikan di controller tsb, hasilnya view pasti ke auth/blocked entah itu sebagai admin/user.. padahal untuk untuk controller admin, user, menu sudah oke semua. itu kenapa ya pak ? terima kasih
Pak, kenapa ya setelah saya kasih method is_login disemua controller selain auth justru controller itu nggak bisa diakses sekalipun oleh admin? Apa method nya harus disimpan di semua controller atau nggak pak? Tolong jawab.. Terima kasih.
Mau tanya, kalo saya nambah menu dan submenu, udh dikasih akses buat admin dan member, ko tetep access forbidden ya, padahal di database user_access_menu nya jg udh ada, itu kenapa?
saat implementasi ini di controller admin terdapat warning A PHP Error was encountered Severity: Notice Message: session_write_close(): Skipping numeric key 1 Filename: Unknown Line Number: 0 Backtrace: solusinya gimana ya
Pak, ijin bertanya, ketika sudah login ke admin dan sy mau akses kemenu management pertamanya berhasil(url: localhost/wpu_login/menu) namun ketika sy klik sub menu dashboard adminr urlnya jd(localhost/menu/admin),.hasilnya page not found, mhon solusinya pak
Pak kalau line yang db->get_where(‘user_sub_menu’, [‘url’ => $menu]) di function is_logged_in() itu kan ngambil dari db ya, kalau mau ambil dari session bagaimana ya?
pak minta bantuan dong, ketika dibuat "if ($userAccess->num_rows() < 1) { redirect('Auth/blocked'); }" muncul nya langsung ke BLOCKED.... tpi kalo "if ($userAccess->num_rows() > 1) { redirect('Auth/blocked'); }" bisa masuk views admin tapi ada error "Message: Trying to access array offset on value of type null Filename: helpers/logged_helper.php"
pak mau tanya.. saya sudah mengikuti langkah sudah pernah membuat dan sukses dan sekarang mencoba membuat baru tapi malah gagal kenapa ya pak? gagalnya semua user dan admin langsung masuk auth/blocked untuk table saya memang saya beri nama user_accesss_menu.
mohon di bantu pak pak mau tanya kok ketika sya login sbagai user kok langsung di alihkan ke Blocked ya pak..tidak masuk dlu ke halaman user itu gmna ya pak..nuhun di bantu pak sya udh subcribe pkek 3 akun berbeda lohh pak..dan komen dengan acount yg beda jg...tpi ngk prnah di responn..nuhun di bntu pak
coba cek bagian ini di helper nya mas $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id], ['menu_id' => $menu_id]); coba di ganti jadi seperti ini $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]); kebetulan saya dapat maslah yg sama, tapi sudah solved
@@bgsygnwan mksudnya gmn mas?, misal nama menu di field menu dalam table sub_menu kita = Admin, nah di url yg kita akses itu ...../admin, apakah huruf besar nya ngaruh atau gmn mas?, krn saya jg blum fix terkait user access ini, di saya pas akses ke url ../admin atau ../menu sementara role_id saya = 2 alias user, tetap tidak ter block
pak @sandhika dan teman-teman mohon bantuan pencerahannya, saya buat 4user, yang 2 user bisa diakses sesuai role nya dan yang 2 user lagi malah langsung masuk ke method blocked ketika akan login padahal rules user access menu nya sudah sesuai di database nya , kira-kira apa yang harus bisa ditambahkan atau diperbaiki?
@@Cioverafredo coba dicek isi nama menu yg ada di database dengan nama folder yang di aplikasinya itu samakan. Saya waktu itu salahnya tidak sama nama menu yg didatabase dengan nama folder yang ada di aplikasi
Zaki Abdurrazzak udah aku sama kan bg nama menu di datanase sma dikoding ., kan role_id (1) admin (2) user (3) MM Di auth nya kan cuman dua tu bg If($user['role_id'] == 1 ) { Redirect('admin'); } else { Redirect('user') } } Yang untuk role (3) MM DItambah kan juga bg ?
permisi pak dika dan teman" saya dapat permasalahan di user access. permasalahannya klo saya menambahkan menu dan submenu yang baru dengan controller yang baru itu di identifikasikan forbiden atau access block (sistem akan diarahkan ke akses blok). tapi klo misalnya saya bikin menu dan submenu baru dengan controller yang sudah ada tidak ada masalah atau bisa diakses. tolong bantu saya untuk memperbaikinya. karena saya sudah cermati 3 hari belum ketemu permasalahannya. apakah permasalahannya di helpernya atau dimana? sebelumnya saya minta maaf bila kurang cermat. terimakasih ini source code helper saya function is_logged_in() { $ci = get_instance(); if (!$ci->session->userdata('email')) { redirect('auth'); } else { $role_id = $ci->session->userdata('role_id'); $menu = $ci->uri->segment(1); // $querySubMenu = $ci->db->get_where('user_sub_menu', ['url' => $menu])->row_array(); $queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array(); $menu_id = $queryMenu['id']; $userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]); if ($userAccess->num_rows() < 1) { redirect('auth/blocked'); } } }
itu kan kita disuruh cocokin uri segment yang pertama, dengan menu yang ada di table user menu ... kalo uri nya beda sama menu yang di table user menu pasti gk akan lanjut sampe dapetin user acces, dia langsung di block di awal brayy. sedangkan yang jadi uri pada segment pertama controler kita. kaya nya sih gitu hehe
Kalau misalnya kita punya banyak tabel dengan bnyak controller gimana dong pak cara membatasi aksesnya? Apakah kita harus membuat semua method yang ada di controller yg telah dibuat sblumnya, dipindahkan ke controller admin, user/ menu tsb?
Pak dika, ketika saya arahkan back to dashboard di bagian blocked tidak mau di arahkan ke contoroller user. dan ternyata ketika saya matikan num_rows() < 1 jadinya mau. Padahal udah samain mulai dr database sampai syntax nya. // ini method blocked nya: public function blocked() { $this->load->view('auth/blocked'); } //ini kondisi helper nya: if ($userAccess->num_rows() < 1) { redirect('auth/blocked'); }
Auth juga diberikan kondisi pak dimana jika sudah login harus di redirect ke halaman default karena jika tidak diberikan maka akan menampilkan halaman login atau register lagi.
Untuk kondisi Auth tidak diletakkan pada construct() namun diletakkan pada method index() dan register().
Jika kondisi diletakkan pada Auth maka pada saat mau logout maka akan di rediect ke halaman default dan akhirnya tidak bisa logout.
public function goToDefaultPage() {
if ($this->session->userdata('role_id') == 1) {
redirect('admin');
} else if ($this->session->userdata('role_id') == 2) {
redirect('user');
} else {
// jika ada role_id yg lain maka tambahkan disini
}
}
kemudian letakkan function di atas di method index() dan register() dengan cara $this->goToDefaultPage();
Top markotop ide nya.. Haturnuhun
yess, thankyou Iqfar.. kayanya saya kelewat ya ini.. :)
minta tolong nih pak...yunior dan pak shandika...saya punya masalah nih..... kenapa ketika masuk login admin kok larinya ke auth/blocked ya...ada yg bisa membantu...please...
@@levijolev9151 coba di cek lagy mgkn ada yg ketinggalan. Bisa melihat tutorial selanjutnya dr Pak Dika...
@@JuniorIqfar udah ketemu...udah saya coba...pada Controller admin tak perlu adanya contruct ya...
public function __construct()
{
parent::__construct();
is_logged_in();
}
Trims Mas Dhika tutornya sangat berbobot...awalnya ada bbrp kendala.,,setelah baca2 komen tersolved juga..
izin menambahkan pa Dhika.. barangkali ada yang masih mengalami access blocked ketika login user coba gunakan kode ini hanya untuk controller admin dan menu saja
-
public function __construct()
{
parent::__construct();
is_logged_in();
}
-
untuk controller user tetap menggunakan kode ini
-
public function __construct()
{
parent::__construct();
if (!$this->session->userdata('email')) {
redirect('auth');
}
}
makasih banyak bro, ini yg ane cari dari tadi nyelem di komen hampir 1/2 jam
Guru sejuta umat,, penjelasan pak sandhika galih memang yg paling bagus dari semua chanel tentang programming yg pernah saya liat. Saya yg awam jadi banyak mengerti karena cara penjelasannya yg terstruktur.
Setiap saya nonton chanel ini saya tdk pernah skip iklannya 😇
Untuk yang mencari pemecahan masalah ketika menambah menu baru.
(========================)
Ketika di akses sub menu nya hasil nya adalah access forbidden.
(========================)
Hal yang harus diperhatikan yaitu
1. Controller = nama menu
Artinya nama controller tidak sembarangan.
Itu saja yang bisa saya bantu untuk yang nanti mencari error seperti ini.
Semoga membantu😆😆
Bukannya itu yg di block nama menu yg ditable menu ya?, kalo url nya submenu gmn ?apakah lolos?
Materi ini penting mengingat banyak coder yang melupakannya, dan bagian dari security di aplikasi ci
punten pak saya ga pake helper,
di controller auth saya tambahkan code di index dan registration yaitu: //agar kalo sudah masuk tidak bisa login/regis
if ($this->session->userdata('role_id') == 1) {
redirect('admin');
} else if ($this->session->userdata('role_id') == 2) {
redirect('user');
} else {
// jika ada role_id yg lain maka tambahkan disini
}
lalu saya buat method baru: //function ini dipanggil di controller user, admin dan menu. misal kalo login admin, tidak masuk sebagai user.
public function goToDefaultPage()
{
if ($this->session->userdata('role_id') == 1) {
redirect('admin');
} else if ($this->session->userdata('role_id') == 2) {
redirect('user');
} else {
// jika ada role_id yg lain maka tambahkan disini
}
}
}
controller user:
public function __construct()
{
parent::__construct();
if (!$this->session->userdata('email')) {
redirect('auth');
// ini kalo belum login
} else if ($this->session->userdata('role_id') == 1) {
redirect('auth/goToDefaultPage');
//panggil function
}
}
controller admin dan menu sama:
public function __construct()
{
parent::__construct();
if (!$this->session->userdata('email')) {
redirect('auth');
} else if ($this->session->userdata('role_id') == 2) {
redirect('auth/goToDefaultPage');
}
}
siap thanks bg
mantappp, awalnya gw error kalo is_logged_in(); ditaro di user. nah kalo gak dipake is_logged_in(); di user, nanti bisa akses user tanpa login. akhirnya gw ikutin cara lo bang, di user jadi kaya gini ->
public function __construct()
{
parent::__construct();
//is_logged_in();
if (!$this->session->userdata('email')) {
redirect('auth');
// ini kalo belum login
} else if ($this->session->userdata('role_id') == 1) {
redirect('auth/goToDefaultPage');
//panggil function
}
}
udah dicoba ternyata masih bug gan , kalo kt masuk sbg user terus log out dan langsung akses ke localhost/wpu/user masih bisa lolos tanpa login
setelah berteman sama error seharian tentang helper yang ngeblokked saat membuat menu baru, alhmdulilah udh ada solusinya.. hehehehe..
terimakasih pak dika setelah memahami lebih mendalam maksud logika dari helpernya :)
solusinya apa ni mbak
_helper yang dibuat oleh pak dika udah sangat-sangat benar hanya kita harus memahami logika yang digunakan di helper tersebut, disana bahwa $menu yang dibaca berasal dari url (segment(1)) dari tiap controller yang telah dibuat itu harus sama dengan $menu_id dari tabel menu..
jadi, intinya nama controller yang dibuat harus sama dengan nama menu yang akan dibuat..
semoga membantu...
@@muhammadalfi9670
@@septach8680 maaf ka saya masih kesulitan helper yang ngeblokked saat membuat menu baru, bagaimana cara menyelesaikannya terimakasih
Saat meembuat alamat url kn controler/method ya nah nma controller yg dibuat pas diurl hrus sama dengan controller yg akan dibuat di program kita begitu juga dgn methodya.. semoga membantu ka@@raisandika772
@@septach8680 Mantap terimakasih mbak
pak sandika emang mantap....saya jadi tahu html,css,js,php,oop,mvc dan cara menggunakan bootstrap dan materialize di codeigniter.....tutorialnya emang ok.
thanks pak
kenapa ya punys saya di menit 18:28 itu gamau login, jafdi malah ke arah bloked semua usernya
terimakasih mas andika...tetap your the best
ini kenapa kalau user masih bisa askes admin namun ke dalam fitur admin nya sudah di block salah dimana ya kira kira
metode ini cocok jika sub menu kita sedikit, jika sub menu kita banyak , kontroler kita akan tidak rapi,
untuk solusi bisa di tambahkan 1 field lagi di table user_sub_menu dengan nama level,
dan mengganti fungsi is_logged_in() dengan
function user_level(){
$ci = get_instance();
if (!$ci->session->userdata('email')){
redirect('auth');
}
else{
$role_id = $ci->session->userdata('role_id');
$menu = $ci->uri->segment(1);
$queryMenu = $ci->db->get_where('user_sub_menu', ['level' => $menu])->row_array();
// var_dump($role_id);
// var_dump($queryMenu['menu_id']);
// die;
$menu_id = $queryMenu['menu_id'];
$userAccess = $ci->db->get_where('user_access_menu', [
'role_id' => $role_id,
'menu_id' => $menu_id
])->row_array();
// var_dump($userAccess);
// die;
if (empty($userAccess)) {
redirect('auth/blocked');
}
}
}
level di sini, isinya apa pak ? atau fungsi level buat apa ?
Iya mas minta tolong untuk dijelaskan mengenai "level" ini sepertinya menarik, terima kasih
SOLVED mas, jadi di tabel user_sub_menu ditambah field level. Ini menjawab masalah saya ketika saya menambah menu dan submenu baru yang tidak bisa diakses walaupun di tabel user_access_menu sudah diset mana saja yang dapat mengakses itu yang mengakibatkan selalu kelempar ke "auth/blocked". Dan benar ini nantinya akan membuat controller kita lebih rapi. Terima kasih mas semoga ini di pin oleh Pak Dika
@Teknik Informatika Titis Yunita Purnomo kalo yang saya coba, level isinya uri_segement(1) atau controllernya mas
Apakah cara ini bisa diterapkan jika kita menggunakan routes untuk mengubah nama url nya? Karena setelah saya buat routes, banyak menu yg ke redirect ke auth/block.
Terima kasih pak akhirnya tau juga cara blokir akses user ke menu admin 😁
Terima kasih banyak..ini yang saya sangat butuhkan...lanjutkan berkarya
Penutup nya mantap. "Mau menu, tidak boleh, enak aja". Thanks pak Sandika.
Kenapa ya pas login sebagai user maupun admin malah diarahkan ke halaman blocked? Pusing banget, masih belum nemu salahnya dimana. Nama controller sama yang ada di database udah sama.
semakin semangat belajar pak
terimakasih tutor nya
Mantap kang mas buat bantu adik" kita yg pemula
Pak kok saya buat seperti itu tetapi malah user saya yang ga bsa login
Terima kasih, amat membantu tutorialnya.
Well done.. :)
Belajar belajar belajar, Makasih Ilmunya Pak 🙏
Perlukah memakai die() setelah memanggil redirect()?
Hadir pakk, terima kasih udh mau kasih materi yang berguna ini
Siap nongkrong dimari pak Dhik
makasih atas sharing ilmu nya pak dosen, lanjut kan pak, saya tunggu next video nya...
yang aneh di punya saya, ketika login sebagai admin, langsung redirect ke controller auth/blocked kenapa ya? kalo ke controller menu bisa, padahal sama2 ada is_logged_in().
awalnya ga ada masalah, tapi tiba2 ga bisa lagi, sy cb pake firefox sama juga
SOLVED
Nama menu yg Dashboard harus diganti Admin, karena $ci->uri->segment(1) = admin. klo beda nama jadinya ga ketemu. trims teman2 yg udah jawab di bawah
Sblumnya mas pake nama apa sih? Aku udah sama nama controller dngn di database tp tetap salah
Permisi, ada yang ngalamin terkait menu ikut ke blocked untuk yg admin, kiranya solusinya bagaimana? Mohon bantuannya🙏🏼
Mantap yang saya tunggu tunggu, terima kasih pak
Alhamdulillah, sehat terus pak dhika
maaf pak dina mau nanya ada yang eror kasusnya pada saya ketika menambah submenu baru yang url controllernya baru itu gk mau masuk ketka fungsi is_logged_in(); di taruh maka ketika menu itu diklik dia langsung bloked padahal di role sudah di izinkan.
ditunngu part selanjutnya gan....
Untuk masalah yang pas login ke admin/user ke block coba cek filed menu di tabel user_menu nya liat controler sama nama menunya udh sama blm
Maksudnya gimana?
Thanks bro
Maksudnya gimanaa yaa ?
makasih banggg
trims...solved
Semua scrip udah jalan pak tapi ketika saya tambahin controler dan menu baru tapi tidak bisa d akses auth/blocked.
Tapi jika saya hilangkan is_logged_in bisa d akses tapi semua bisa akses.
Solusinya gimana pak buat nambah menu dan controler baru agar hak akses nya bisa kita batasi
untuk function is_logged_in fungsi if nya saya balik baru bisa. pak sandika
function is_logged_in()
{
$ci = get_instance();
$role_id = $ci->session->userdata('role_id');
$menu = $ci->uri->segment(1);
$queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array();
$menu_id = $queryMenu['id'];
$userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]);
if ($userAccess->num_rows() < 1) {
redirect('auth/blocked');
} elseif (!$ci->session->userdata('email')) {
redirect('auth');
}
}
kenapa bisa begitu yah...?
ini untuk mengatasi yang apa pak? controller baru yg derect ke halaman block kah?
semangat trs nungguin playlist ini......
mantap kang..
sekalian kang pakai datatables....
Setuju Pak Dika, pakai datatables.
kenapa yang punya saya sudah mengikuti sesuai dengan tutorial pak sandhika dan sudah saya cek berulang kali, tapi saat dicoba mengakses /admin, /user, dan /menu melalui url tetap dapat diakses, mohon bantuannya
Pak Galih, kalau boleh request pengembangan dari sesi Sistem Login Lengkap ini materi tentang pengaturan hak akses ke sebuah method atau fungsi dalam controller juga... Simulasi kasusunya, misal si-A rolenya sebagai marketing, akan tetapi dia hanya bisa menginput data target penjualannya saja dan melihat data2 yang sudah dia input, tapi dia tidak bisa mengakses data2 yang telah di input oleh si-B, dimana si-B juga memiliki role yg sama sebagai marketing. Semoga bisa di tangkap maksudnya :) Terimakasih atas share ilmunya 👌👌
terima kasih pak atas ilmu nya
pak, ketika kita sudah login seharus nya kita juga tidak bisa mengakses controller auth, di vidio ini kita masih bisa mengakses controller auth walau sudah login. sedikit solusi dari saya dengan menabahkan if ($this->session->userdata('email'))
{
if ($this->session->userdata('role_id') == 1) {
redirect('admin');
} else
{
redirect('user');
}
}
di bagain index di controller auth agar ketika sudah login tidak bisa mengakses controller auth mohon maaf jika solusi saya ini masih kurang tepat.
Mantap Bro. Bagus juga dikasih tambahan seperti itu.
Iya gan, saling sharing satu sama lain
nice bro
tambahkannya class yang mana mas?
@@iqbalmahatmaputra9893 di class Auth function index() mas,,
Mantap pak....semangat trus pak, smoga slalu sehat...Aamiin..
pak tutorial docker dan laravelnya ditunggu dong hehe
nanya dong pak Dika, saya sucoba tambahin menu unit, tapi setelah saya tambahkan di blocked, padahal saya sudah tambahkan ke admin. tapi kalau fungsi is_logged_in(); saya hilangkan bisa ditampilkan, tapi kalau saya panggil fungsinya gak bisa pak dika.
Sama ka udah dapat caranya belum
@@nandawwahyudi7690 udah solved?
saya solved untuk masalah blocking halaman admin, jadi value di table_menu field menu tadinya saya Administrator setelah saya ubah jadi Admin maka solved. tolong dicek lagi codingan kalian ya jangan sampai ada typo!
makasih gan,tapi kok bisa gitu
ya?
o iya kan routingnya namanya admin alhasil gk sama dengan yang di field
Wah thanks. solved. Tapi kalo mau saya tetep namanya jadi Administrator, bagian mana yang harus saya ubah ya?
yoi bro baru ngeh juga gua, coba dicek lagi penggunaan kapitalnya juga
gue tetap salah wlupun udah sama :(
minta tolong nih pak...yunior dan pak shandika...saya punya masalah nih..... kenapa ketika masuk login admin kok larinya ke auth/blocked ya...ada yg bisa membantu...please..
Rem nya blong pak dosen 🤟😬 best pak terimakasih 🙏
pak, setelah sya ikuti semua dan menambahkan edit nama menu. kesimpulan saya adalah perubahan nama menu hanya boleh dilakukan oleh programmmernya sendiri. karena ia (helper wpu) mengecek nama menu di database harus sama dengan di uri segment (nama controller). jadi ketika saya mengubah nama 'menu' menjadi 'menu 2', maka ketika di get_where uri dan data db hasilnya 0. alhasil function blocked terpanggil. jadi ketika mengubah nama menu juga mengubah nama controllernya. bukan begitu pak ? atau saya yang salah ?
saya jg punya masalah disini mas, kalo udah fix kasih tau yaa
@@fadellll8701 udah solved?
@@hamzah818 udah mas makasi udh respon
@@fadellll8701 jadi gimana om solusinya? nama uri segmentnya harus dirubah yaa. maka nama kontroller harus persis seperti ketika menginputkan nama url ketika menambahkan submenu yaa?
Terima kasih pak
belajar dengan sampai dapat job pak...jika nanti ada waktu saya ingin lasung belajar dengan anda
Mantab pak update terus hehe
login sebagai user, blocked nya berhasil, tapi kenapa sebagai admin juga ikut ke blocked pak. mohon pencerahannya. trims
sama nih saya juga kendalanya ketika sudah login sebagai user lain langsung akses blok ga masuk ke halaman utama dulu. mohon pencerahannya
pak, saya buat menu dan submenu baru tapi kena block, gimana cara mengatasinya pak,
status menu [active]
sub menu [di block]
saya coba pindahkan sub menu user ke menu baru bisa pak, namun sub menu baru saya tidak bisa dibuka pak!
Mohon bantuan gan
$role_id gak ada isinya pada wpu_helper.php
Sehingga bernilai 0, akibatnya masuk sbg admin atau user diarahkan ke auth/blocked
Gmna cara mengatasi $role_id bernilai 0
Karen kondisi dalam wpu_helper.php
if (userAccess < 1 ) {
Redirect ('auth/blocked'); ?
Kenapa pas sudah di masukan ke hosting malah error ya?
untuk yang block kok gk bisa knapa ya , dari user saya pibdah ke admin masih bisa pindah .
ikut comment kang dika
saya bikin relasi di table user dan user_role nya , dikarenakan dalam implementasi aplikasi saya , controller Auth( form login ) masih bisa di akses di tab baru dan bisa mengakses kedua user secara bersamaan, saya tidak ingin seperti ini, saya ingin ketika ada identifikasi dari session nya, maka tidak bisa login di tab baru di browsernya.
jadi saya menambahkan fungsi chek_login() sebagai fungsi helper baru .
ini implementasi saya di file helper dalam contoh di video ini yaitu wpu_helper:
Nuhun kang dhika sareng team na..ka anggo pisan ilmuna..diantosan bahasan framework nu lain na...
Pak saya buat controlled untuk submenu nya di file berbeda bukan di menu. pas saya klik submenu kok kena block ya pak. padahal login admin itu kenapa ya pak?? . trus saya buat ngakalinya saya pake. if($this->session->session('role_id') != 1){
redirect('auth/blocked');}
saya ikut tutor pak sandhika, ketika access menu admin sebagai admin keblocked, terus saya pake cara anda, berhasil. makasih
Hadir pak dosen, wah ngebut nih materi
Mohon bantuannya , ketika login sbgai user maupun admin lgsung redirect ke blocked , kira kira salahnya dmna ya ?
coba cek bagian ini di helper nya mas
$userAccess = $ci->db->get_where('user_access_menu',
['role_id' => $role_id], ['menu_id' => $menu_id]);
diganti jadi seperti ini mas
$userAccess = $ci->db->get_where('user_access_menu',
['role_id' => $role_id, 'menu_id' => $menu_id]);
kebetulan saya pernah dapat maslah yg sama
@@AbdulHamid0197 kalo masuk sebagai asdmin,saya ke menu kok ttp di blocked ya pak
@@AbdulHamid0197 kalo masuk sebagai asdmin,saya ke menu kok ttp di blocked ya pak
Pak tanya dong, kalau di sublime biar bisa kaya dimenit 21.20 color font/color theme nya pakai thema apa ya kalao SUBLIME TEXT versi 3
Pak dhika, maaf mau tanya dong,, kok disaya, sudah koding, pas masuk login, malah langsung ke halaman 'blocked' ya... Ga masuk ke halamam admin/user,,, knpa ya pak...?
iya sama salah dimannya ya ??
@@salakhotspot3796 Baru ketemu nih mas...
salahnya ada pada pengecekan id
jika dilihat dari tutorial itu
/* pengecekan id */
'menu_id' => $menu_id
untuk $menu_id tidak usah pakai "id"
jadi cukup $menu
/* pengecekan id */
$userAccess = $ci->db->get_where('user_access_menu', [
'role_id' => $role_id,
'menu_id' => $menu
]);
ini saya berhasil...
@@CodeOffichbinein yang dimananya mas
else{
$role_id = $ci->session->userdata('role_id');
$menu = $ci->uri->segment(1);
$queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array();
$menu_id = $queryMenu['id'];
$userAccess = $ci->db->get_where('user_access_menu', [
'role_id' => $role_id,
'menu_id' => $menu_id
]);
if ($userAccess->num_rows() < 1 ) {
redirect('ctn/blocked');
}
@@salakhotspot3796
$userAccess = $ci->db->get_where('user_access_menu', [
'role_id' => $role_id,
'menu_id' => $menu
_id
]);
$menu_id untuk "_id" nya dihapus aja
jadi seperti ini
$userAccess = $ci->db->get_where('user_access_menu', [
'role_id' => $role_id,
'menu_id' => $menu
]);
@@CodeOffichbinein sy sma aja mass ngk ada yg brubah
pak ada masalah di helper untuk user access menu. pada script ini if ($userAccess->num_rows() < 1) {redirect('auth/blocked');} klo menambah menu dan sub menu yang baru itu di identifikasikan block. oleh logika tersebut
Mas saya juga sama, coba masnya scroll kebawah ada beberapa komen temen kita yang bahas dan ada yang dijawab oleh Pak Dika
@@rizkyrahmadianto1966 kk saya sudah baca semua, tpi tidak menemukan yg di mksud k Rizky.
bisa tolong lebih di spesifikan di komentar yang mana yg di mksd kk?
Tambahkan akses baru di tabel user_access_menu
@@sandhikagalihWPU sudah semua pak. sudah aktif semua.
tapi klo menggunkan controller dari admin atau user atau menu yang sudah dibuat. bisa di akses tanpa blok.
tapi klo membuat controller yang baru, ke block lagi pak.
@@agusnovian3245 kata bang Dedy di komentar lain >> nama field menu yang ada pada tabel user_menu harus sama dengan uri segmen yang ditangkap, kurang lebih nama controller nya disamakan dengan field yang ada pada tabel user_menu.
jadi samakan nama controller dengan field user_menu, misalkan fieldnya id : 1,menu : Jempol maka controllernya kasih nama Jempol.php
saya alhamdullilah fix bro.
Semut hadir
mungkin bagus pak ditambahin kondisi di construct controller user
if(!$this->session->userdata('role_id') == 2){
redirect('auth');
}
terus nanti dia auth dibuat kondisi kalau sudah login gak bisa akses url login dan register dan akan keredirect ke controller sesuai role id
Pak.. maaf mau tanya, saya buat controller sendiri lagi tetapi ketika fungsi is_logged_in(); saya definisikan di controller tsb, hasilnya view pasti ke auth/blocked entah itu sebagai admin/user.. padahal untuk untuk controller admin, user, menu sudah oke semua. itu kenapa ya pak ? terima kasih
Pak, kenapa ya setelah saya kasih method is_login disemua controller selain auth justru controller itu nggak bisa diakses sekalipun oleh admin? Apa method nya harus disimpan di semua controller atau nggak pak?
Tolong jawab.. Terima kasih.
Mau tanya, kalo saya nambah menu dan submenu, udh dikasih akses buat admin dan member, ko tetep access forbidden ya, padahal di database user_access_menu nya jg udh ada, itu kenapa?
Padahal di controller barunya udh ditambain ci_logged_in gitu pokonya di __construct nya
Udh ketemu salahnya dmn? Bro
Bang mau nanya kok aku error yahh pas di buatkan segment, mohon bantuannya.
Lanjutkan Pak.
pak kenapa saya cek menu kok di redirect ke blocked
#note
Baru ngeh, disini bersrti masih bisa akses sub menu kah?, karena kan yg di block user menu dimana cuman admin dan user, tetapi kalo dia
saat implementasi ini di controller admin terdapat warning
A PHP Error was encountered
Severity: Notice
Message: session_write_close(): Skipping numeric key 1
Filename: Unknown
Line Number: 0
Backtrace:
solusinya gimana ya
Keren bagus
absen heula..! Hadir terus saya pak..! :)
Pak, ijin bertanya, ketika sudah login ke admin dan sy mau akses kemenu management pertamanya berhasil(url: localhost/wpu_login/menu) namun ketika sy klik sub menu dashboard adminr urlnya jd(localhost/menu/admin),.hasilnya page not found,
mhon solusinya pak
saya gak berapa jelas if($userAccess->num_rows()
Sama nih ada error' di sini
@@teddyjuanda4326 saya sudah lama tamat latihannya bro.. saya udah paham dengan latih sendiri.. mas sandhika memang mantap
Pak kalau line yang db->get_where(‘user_sub_menu’, [‘url’ => $menu]) di function is_logged_in() itu kan ngambil dari db ya, kalau mau ambil dari session bagaimana ya?
ada yg tau ngga, gw udah coba tambah fungsi edit terus ubah nama menu yg di sidebar, tpi pas di save malah ke view block jadinya, ini kenapa ya?
pak minta bantuan dong, ketika dibuat "if ($userAccess->num_rows() < 1) {
redirect('Auth/blocked');
}"
muncul nya langsung ke BLOCKED....
tpi kalo "if ($userAccess->num_rows() > 1) {
redirect('Auth/blocked');
}"
bisa masuk views admin tapi ada error "Message: Trying to access array offset on value of type null
Filename: helpers/logged_helper.php"
Ketika kita buat Menu dan submenu baru dan mengatur rolenya(Berhasil) tetapi untuk mengakses halamannya kok di BLOCK ya pak, mohon bantunannya pak
Sama nih udah dapt caranya gak gan
pak mau tanya..
saya sudah mengikuti langkah sudah pernah membuat dan sukses dan sekarang mencoba membuat baru tapi malah gagal kenapa ya pak?
gagalnya semua user dan admin langsung masuk auth/blocked
untuk table saya memang saya beri nama user_accesss_menu.
mohon di bantu pak
pak mau tanya kok ketika sya login sbagai user kok langsung di alihkan ke Blocked ya pak..tidak masuk dlu ke halaman user
itu gmna ya pak..nuhun di bantu pak
sya udh subcribe pkek 3 akun berbeda lohh pak..dan komen dengan acount yg beda jg...tpi ngk prnah di responn..nuhun di bntu pak
cek lagi logika di dalam fungsi is_logged_in nya, kemungkinan ada typo disitu
@@sandhikagalihWPU udah saya amati pak..hasilnya ttp sma sja
codingnya ini pak
@@sandhikagalihWPU gmna ya pak...
Pak video tutorial perhitungan ada gak? Semisal menghitung zakat atau sejenisnya. intinya pakai IF, ELSE, dan pakai perkalian tambah bagi dll.
ko saya var_dump di bagian $userAccess yang true cuman user yang ber role_id 1 doang ya ?
yang role_id 2 , malah false..?
ada yang tau?
coba cek bagian ini di helper nya mas
$userAccess = $ci->db->get_where('user_access_menu',
['role_id' => $role_id], ['menu_id' => $menu_id]);
coba di ganti jadi seperti ini
$userAccess = $ci->db->get_where('user_access_menu',
['role_id' => $role_id, 'menu_id' => $menu_id]);
kebetulan saya dapat maslah yg sama, tapi sudah solved
5:17 point 'jangan ditendang pak' hahaha
Halo Pak Dosen Bagamana Caranya Jika kita menambahkan 1 tabel pak misalnya tabel Data Pegawai Pak..Mohon bantuanya pak
pak, kenapa setelah saya login user. Kenapa malah langsung ke access blocked ya?
Saya juga terjadi hal demikian kenapa ya ??
Solusi nya udah ketemu mas, coba cek di nama menu nya. Pastiin url sama nama menu nya sama. Mungkin ada yang ke ganti, kalau saya sih gitu
@@bgsygnwan makasih mas. Solved
@@bgsygnwan mksudnya gmn mas?, misal nama menu di field menu dalam table sub_menu kita = Admin, nah di url yg kita akses itu ...../admin, apakah huruf besar nya ngaruh atau gmn mas?, krn saya jg blum fix terkait user access ini, di saya pas akses ke url ../admin atau ../menu sementara role_id saya = 2 alias user, tetap tidak ter block
Terima Kasih pak. Ijin belajar CI nya pak . . .
pak @sandhika dan teman-teman mohon bantuan pencerahannya, saya buat 4user, yang 2 user bisa diakses sesuai role nya dan yang 2 user lagi malah langsung masuk ke method blocked ketika akan login padahal rules user access menu nya sudah sesuai di database nya , kira-kira apa yang harus bisa ditambahkan atau diperbaiki?
Sama aku juga ., udah ktmu gan gmna caranya ?
@@Cioverafredo untuk soal itu harus disamakan nama menu role nya yg di database dengan yang dikoding
Zaki Abdurrazzak aku kan buat role baru bg terus aku kasih dia role_id 3 ketika saya login dia ke blocked ., tau ga bg solusinya Makasi bnyak bg
@@Cioverafredo coba dicek isi nama menu yg ada di database dengan nama folder yang di aplikasinya itu samakan. Saya waktu itu salahnya tidak sama nama menu yg didatabase dengan nama folder yang ada di aplikasi
Zaki Abdurrazzak udah aku sama kan bg nama menu di datanase sma dikoding
., kan role_id (1) admin (2) user (3) MM
Di auth nya kan cuman dua tu bg
If($user['role_id'] == 1 ) {
Redirect('admin');
} else {
Redirect('user')
}
}
Yang untuk role (3) MM
DItambah kan juga bg ?
pak dika, punya saya kok pas masuk sebagai admin terus pencet menu ataupun submenu langsung ridirect ke access blocked?
Sama bang,saya jadi harus kasih instruksi manual di construct controller menunya
permisi pak dika dan teman"
saya dapat permasalahan di user access.
permasalahannya klo saya menambahkan menu dan submenu yang baru dengan controller yang baru itu di identifikasikan forbiden atau access block (sistem akan diarahkan ke akses blok).
tapi klo misalnya saya bikin menu dan submenu baru dengan controller yang sudah ada tidak ada masalah atau bisa diakses.
tolong bantu saya untuk memperbaikinya. karena saya sudah cermati 3 hari belum ketemu permasalahannya.
apakah permasalahannya di helpernya atau dimana?
sebelumnya saya minta maaf bila kurang cermat. terimakasih
ini source code helper saya
function is_logged_in()
{
$ci = get_instance();
if (!$ci->session->userdata('email')) {
redirect('auth');
} else {
$role_id = $ci->session->userdata('role_id');
$menu = $ci->uri->segment(1);
// $querySubMenu = $ci->db->get_where('user_sub_menu', ['url' => $menu])->row_array();
$queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array();
$menu_id = $queryMenu['id'];
$userAccess = $ci->db->get_where('user_access_menu', ['role_id' => $role_id, 'menu_id' => $menu_id]);
if ($userAccess->num_rows() < 1) {
redirect('auth/blocked');
}
}
}
permasalahan sama
sudah dapat soluisnya pak? kenapa seperti itu...
up nih, sama kasusnya. knp ya? pak dika tolong bantingannya
Up prmsalhn sama
itu kan kita disuruh cocokin uri segment yang pertama, dengan menu yang ada di table user menu ... kalo uri nya beda sama menu yang di table user menu pasti gk akan lanjut sampe dapetin user acces, dia langsung di block di awal brayy. sedangkan yang jadi uri pada segment pertama controler kita.
kaya nya sih gitu hehe
untuk serial ini lanjut ke RBAC dong pak, jadi untuk menu sangat fleksibel, terima kasih.
hello para master..
kenpa saya langsung akses ke laman blockednya yah..
ngga ke form user dahulu ??
ada yang bisa bantu kah ?
permisi, semisal admin tidak boleh masuk ke halaman member walau memiliki fitur dari member, untuk logika num_rows nya bagaimana ya? terima kasih
Boleh dong pa dishare icon usernya, saya cari2 gk dapet yg bagus iconnya.
Makasih pak dika mantap sekali penjelasan nya. Boleh di buatkan ngambil data atau input data di database pakek excel pak 🙏🙏😊
Kalau misalnya kita punya banyak tabel dengan bnyak controller gimana dong pak cara membatasi aksesnya? Apakah kita harus membuat semua method yang ada di controller yg telah dibuat sblumnya, dipindahkan ke controller admin, user/ menu tsb?
menurut saya yang paling tepat untuk cek id menu nya ada d tabel menu_sub? tidak tau menurut bapak dan teman-2 yang lainnya.
Pak dika, ketika saya arahkan back to dashboard di bagian blocked tidak mau di arahkan ke contoroller user.
dan ternyata ketika saya matikan num_rows() < 1 jadinya mau. Padahal udah samain mulai dr database sampai syntax nya.
// ini method blocked nya:
public function blocked()
{
$this->load->view('auth/blocked');
}
//ini kondisi helper nya:
if ($userAccess->num_rows() < 1) {
redirect('auth/blocked');
}
maksudnya num_rows nya di matikan di hapus mas? Saya juga sama masalahnya, tapi dihapus num_rows nya teep gabisa:v
@@galangramadhan1178 kalau di matikan num_rows() ridirect bisa ke user. Tp kalau saya hidupkan jadinya pas Login lgsung ke blocked.
@@masjidagungbabussalam5859 Sudah saya matikan, tetap seperti itu mas
@@masjidagungbabussalam5859 wpu_helper nya sudah di load di config/autoload.php?
@@PrasetyoBUtomo sudah mas, saya namakan global_helper. Di autoload saya panggil global