我对 Codeigniter 中的用户角色或权限有疑问,我有一个页面,如果他们是管理员或受限用户,我可以在其中更改每个用户的角色,如果是管理员,我不能做的是在登录时加载他们的个人资料更多权限,如果您是有限用户,则在这里我有我的控制器控制器登录(启动会话的功能)
// 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";
}
}
控制器型号
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;
}
}
如果您已登录,则要显示的面板或页面的控制器
//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');
}
}
在面板的控制器中,如果可以重定向到其应有的配置文件,但我不知道如何插入它,知道吗?谢谢
当我处理不同用户类型的会话时,我以下列方式在控制器中对其进行编程。代码已注释,以便您可以得到指导,我希望它会为您服务。