PHP29 Jun 2021

Cara Mencegah Multiple Login di Codeigniter 3 Menggunakan Ion Auth

Multiple Login adalah dimana user masuk ke sistem dengan akun yang sama dan dalam waktu yang bersamaan. Disini saya akan mencoba untuk sharing bagaimana cara mencegah multiple login di Codeigniter.

Ahmad Sanusi

Ahmad Sanusi

2 min read · 3,318 views

Cara Mencegah Multiple Login di Codeigniter 3 Menggunakan Ion Auth

Belum lama ini saya mendapat permintaan dari client saya untuk membuat fitur Single Login pada aplikasi E-TKDN. Single Login disini maksudnya satu user hanya bisa membuat satu sesi (session) di dalam waktu bersamaan, jadi ketika ada dua user dengan akun yang sama akan masuk ke sistem maka user yang pertama login akan dikeluarkan (logout) dari sistem diagantikan dengan user yang kedua . Disini saya akan mencoba untuk menjelaskan bagaimana cara mencegah membuat single login atau mencegah multiple login di Codeigniter dengan menggunakan library Ion Auth. Bagi Anda yang belum menggunakan librari Ion Auth, Anda bisa mendownloadnya disini.

Berikut langkah-langkah cara menambahkan fitur Single Login:

1. Didalam table user tambahkan field current_sessionid

2. Tambahkan Scrip PHP di bawah ini ke file Ion_auth_model.php di baris 1093 di folder models:

$this->db->delete('tbl_sessions', array('id' => $this->ion_auth->user()->row()->current_sessionid)); 
$data = array('current_sessionid' => session_id());
$this->db->where('id', $this->ion_auth->user()->row()->id);
$this->db->update('tbl_users', $data);

Ketika Anda sudah menambahkan script diatas, file Ion_auth_mode.php akan terlihat seperti screenshoot dibawah ini :

Selanjutnya, silahkan Anda coba login dengan menggunakan akun yang sama di browser yang berbeda, saya sarankan user pertama login di mozilla mode penyaraman dan user lain buka di chrome mode ignito. Apabila salah satu user otomatis logout maka fitur single login sudah berjalan di aplikasi Anda.

Sekian untuk artikel kali ini, terimakasih telah menyempatkan membaca artikel disini dan semoga bermanfaat.

sumber : https://github.com/benedmunds/CodeIgniter-Ion-Auth/issues/947

Ahmad Sanusi

Written by

Ahmad Sanusi

Senior Full-Stack Developer with 15+ years of experience in building scalable digital solutions.

Responses

No responses yet. Be the first to share your thoughts.

All articles