Cara agar setiap route hanya dapat diakses melalui login untuk codeigniter

Selamat sore para master, saya mau tanya tentang cara akalin agar akses route tidak boleh sembarangan namun harus login dahulu (session dalam keadaan aktif). kira-kira apa yang harus diperhatikan dan yang paling penting adalah codenya. tks

avatar jungulo
@jungulo

23 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

Untuk beberapa metode didalam controller

<pre> function __construct() { parent::__construct(); if ( ! $this-&gt;session-&gt;userdata('logged_in')) { // Allow some methods? $allowed = array( 'metode1', 'metode2', ); if ( ! in_array($this-&gt;router-&gt;fetch_method(), $allowed) { redirect('login'); } } } </pre>

Refrensi <a href=' https://stackoverflow.com/questions/5920115/codeigniter-checking-if-user-logged-in-for-multiple-pages '> https://stackoverflow.com/questions/5920115/codeigniter-checking-if-user-logged-in-for-multiple-pages </a>

[update] Pastikan kamu sudah bisa login sebelumnya dengan codeigniter, userdata('logged_in') sesuaikan dengan setuserdata yang kamu simpan, <a href=' https://sekolahkoding.com/track/belajar-codeigniter '>ada juga tutorilal codeigniter di sekolahkoding</a>

in_array metode adalah metode PHP biasa, mengecek apakah nama metode yang dibungkus di $allowed ada di controller ini, kalau ada maka redirect login kalau belum login

avatar hilmanski
@hilmanski

2672 Kontribusi 2133 Poin

Dipost 5 tahun yang lalu

Tanggapan

cara menggunakannya bagaimana ya mas?

terima kasih mas Hilman, sudah sering dan sangat membantu. hanya kekurangannya tambah 1 lagi tanda kurung penutup setelah allowed, jadinya ...$allowed)) sekali lagi thanks...

dengan senang hati, sama sama

Mas @hilmanrdn, sedikit ada trouble yang baru ditemukan, jadinya semua dianggap tidak login. Kemudian bisa dijelaskan mengenai $allowed (metode1 dan metode2 itu seperti apa? tks

jawabannya sudah diupdate baca keterangannya di atas

function __construct() { parent::__construct(); if ( ! $this->session->userdata('logged_in')) { // Allow some methods? $allowed = array( 'metode1', 'metode2', ); if ( ! in_array($this->router->fetch_method(), $allowed) { redirect('login'); } } }

avatar jungulo
@jungulo

23 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban