-1

我是这个论坛的新手,最近我刚刚创建了 Web 应用程序来管理库存等。(对不起,我的英语不好)

我只是在考虑是否必须为非管理员用户制作不同的菜单。这是管理员菜单

这是管理菜单

我需要删除注册用户的主菜单和设置菜单。我可以通过使用会话来实现吗?

4

4 回答 4

1

允许不同的人做不同的事情是通过询问授权组件来完成的。CodeIgniter 没有自己的授权组件。您必须在其他地方寻找一个。

会话不会直接帮助。会话知道哪个用户正在使用应用程序;该信息必须传递给授权组件,以确定是否允许用户访问为管理员保留的页面。

于 2013-10-11T09:21:14.697 回答
0

这是我的 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'); }

}

于 2013-10-12T03:56:09.463 回答
0

您可以在模板中显示菜单之前检查会话

前任

$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);
                 }
于 2013-10-11T09:21:06.113 回答
0

您可以通过以下方式获取 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";
}
于 2013-10-11T09:21:32.423 回答