I have a question about the roles or user privileges in Codeigniter, I have a page where I can change the role of each user if he is an administrator or limited user, what I can not do is that when I log in, load his profile if you are an administrator with more privileges and if you are a limited user with less, here I have my controllers Controller Login (Function to log in)
// Verificar usuario en base de datos
public function iniciar_sesion(){
$this->form_validation->set_rules('nom_usuario', 'nom_usuario', 'trim|required|xss_clean');
$this->form_validation->set_rules('pass_usuario', 'pass_usuario', 'trim|required|xss_clean|callback_check_database');
$nom_usuario = $this->input->post('nom_usuario');
$pass_usuario = $this->input->post('pass_usuario');
$result = $this->Login_model->logearse($nom_usuario, $pass_usuario);
if($result){
$sess_array = array();
foreach($result as $row){
$sess_array = array(
'nom_usuario' => $row->nom_usuario,
'pass_usuario' => $row->pass_usuario,
'tipo_usuario' => $row->tipo_usuario
);
$this->session->set_userdata('logged_in', $sess_array);
}
}else{
echo "error";
}
}
The controller model
function logearse($nom_usuario, $pass_usuario){
$this -> db -> select('nom_usuario, pass_usuario');
$this -> db -> from('usuarios');
$this -> db -> where('nom_usuario', $nom_usuario);
$this -> db -> where('pass_usuario', $pass_usuario);
$this -> db -> limit(1);
$query = $this -> db -> get();
if($query -> num_rows() == 1)
{
return $query->result();
}
else
{
return false;
}
}
The controller of the panel or of the page to show if it is logged
//Cargar la vista Panel
public function index()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$this->load->view('header.php');
$this->load->view('panel');
$this->load->view('footer.php');
}
else
{
//Si no ha iniciado sesion redirecionar a login
redirect('login');
}
}
That in the panel controller could go an if to redirect to its proper profile but I do not know how to insert it, Any idea? thanks