Как создать другое меню для пользователя без прав администратора, использующего сеанс PHP?

Я новичок в этом форуме, недавно я только что создал веб-приложение для управления запасами и так далее. (Извините за мой плохой английский)

Я просто рассматриваю, нужно ли мне сделать другое меню для пользователя без прав администратора. Это меню для администратора

это админ меню

Мне нужно удалить мастер и меню настроек для зарегистрированного пользователя. я могу сделать это просто с помощью сессии?

4 ответа

Разрешить разным людям делать разные вещи можно с помощью компонента авторизации. CodeIgniter не имеет собственного компонента авторизации. Вы должны искать где-то еще для одного.

Сессии не помогут напрямую. Сеанс знает, какой пользователь использует приложение; эта информация должна быть передана компоненту авторизации, чтобы определить, разрешен ли пользователю доступ к страницам, зарезервированным для администраторов.

Это мой код main.php

класс Main extends 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";
}
Другие вопросы по тегам