Membuat pembatasan hak akses

Saya buat 2 hak akses, user dan admin.

Gimana caranya agar tampilan menu user dan admin itu beda. admin dapat mengakses semua menu, tapi user hanya mengakses menu dashboard, transaksi, produk, konfigurasi dll.

LIBRARIES SIMPLE LOGIN


<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Simple_login
{
	protected $CI;
	public function __construct()
	{
		$this->CI =& get_instance();
		//Load data model user
		$this->CI->load->model('user_model');
	}
	//Fungsi login
	public function login($username,$password)
	{
		$check = $this->CI->user_model->login($username,$password);
		//Jika ada data user, maka create session login
		if($check){
			$id_user			= $check->id_user;
			$nama				= $check->nama;
			$akses_level		= $check->akses_level;
			//Create session
			$this->CI->session->set_userdata('id_user', $id_user);
			$this->CI->session->set_userdata('nama', $nama);
			$this->CI->session->set_userdata('username', $username);
			$this->CI->session->set_userdata('akses_level', $akses_level);
			//Redirect ke halaman admin yang diproteksi
			redirect(base_url('admin/dashboard'), 'refresh');
		}else{
			//Kalau tidak ada (username dan password salah), maka disuruh login lagi
			$this->CI->session->set_flashdata('warning', 'Username atau password salah');
			redirect(base_url('login'), 'refresh');
		}
	}
	//Fungsi cek login
	public function cek_login()
	{
		//Memeriksa sessionnya sudah ada apa belum, jika belum redirect ke halaman login
		if($this->CI->session->userdata('username')==""){
			$this->CI->session->set_flashdata('warning', 'Anda belum login');
			redirect(base_url('login'), 'refresh');
		}
	}
	//Fungsi logout
	public function logout()
	{
		//Membuang semua session yang telah diset pada saat login
		$this->CI->session->unset_userdata('id_user');
		$this->CI->session->unset_userdata('nama');
		$this->CI->session->unset_userdata('username');
		$this->CI->session->unset_userdata('akses_level');
		//Setelah session di unset maka nanti redirect ke login
		$this->CI->session->set_flashdata('warning', 'Anda berhasil logout');
		redirect(base_url('login'), 'refresh');
	}
}
avatar Exmy31
@Exmy31

28 Kontribusi -1 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

<p>lebih baik menentukan role nya dulu mas, misalnya dengan cara buat database khusus role nanti dicocokan menu mana yang bisa di akses admin maupun user.. menghubungkan nya dengan inner join sql.. semoga membantu<br></p>

avatar niconnv
@niconnv

3 Kontribusi 3 Poin

Dipost 3 tahun yang lalu

Tanggapan

Terimakasih jawabannya. Ini dah jadi.

Login untuk ikut Jawaban