我是这个论坛的新手,最近我刚刚创建了 Web 应用程序来管理库存等。(对不起,我的英语不好)
我只是在考虑是否必须为非管理员用户制作不同的菜单。这是管理员菜单
我需要删除注册用户的主菜单和设置菜单。我可以通过使用会话来实现吗?
我是这个论坛的新手,最近我刚刚创建了 Web 应用程序来管理库存等。(对不起,我的英语不好)
我只是在考虑是否必须为非管理员用户制作不同的菜单。这是管理员菜单
我需要删除注册用户的主菜单和设置菜单。我可以通过使用会话来实现吗?
允许不同的人做不同的事情是通过询问授权组件来完成的。CodeIgniter 没有自己的授权组件。您必须在其他地方寻找一个。
会话不会直接帮助。会话知道哪个用户正在使用应用程序;该信息必须传递给授权组件,以确定是否允许用户访问为管理员保留的页面。
这是我的 main.php 代码
主类扩展 CI_Controller {
function __construct() { parent::__construct(); if(!$this->session->userdata('logged_in')) { redirect(site_url('login').'?u='.uri_string(), 'refresh'); } $this->data['title'] = 'Home'; $this->data['active'] = 'home'; $this->data['menu'] = array('home','keuangan','penjualan','pembelian','stok','master','setting'); } function index() { $data['title'] = 'Main'; $this->load->view('common/header',$this->data); $this->load->view('common/footer'); }
}
您可以在模板中显示菜单之前检查会话
前任
$this->c_type = $this->CI->session->userdata('logtype');
$menubar ='';
if($this->c_type == 'Admin')
{
$menubar = $this->CI->load->view('admin/menubar', $data, true);
}
else
{
$menubar = $this->CI->load->view('general/menubar', $data, true);
}
您可以通过以下方式获取 user_id
$user_id=$this->session->userdata('user_id');
if($user_id ==1){ // I considered admin user_id =1
echo "admin menu";
}
else{
echo "user menu";
}