我将使用 3 个用户角色登录并将访问权限限制为仅特定页面,但是每当我尝试手动键入地址时,我都可以在应限制特定用户访问该页面时访问该页面我正在尝试遵循互联网上的一些代码,但此代码仅适用于登录,但无法限制特定用户登录时的直接访问这是控制器Login.php<?phpclass Login extends CI_Controller{ function __construct() { parent::__construct(); $this->load->model('login_model'); } function index() { $this->load->view('login'); } function auth() { $username = htmlspecialchars($this->input->post('username', TRUE), ENT_QUOTES); $password = htmlspecialchars($this->input->post('password', TRUE), ENT_QUOTES); $cek_us_guru = $this->login_model->auth_guru($username, $password); if ($cek_us_guru->num_rows() > 0) { //jika login sebagai wali kelas $data = $cek_us_guru->row_array(); $this->session->set_userdata('masuk', TRUE); if ($data['level'] == '1') { //id_role admin $this->session->set_userdata('id_role', '1'); $this->session->set_userdata('ses_id', $data['email']); redirect('page'); } else { //id_role dosen $this->session->set_userdata('id_role', '2'); $this->session->set_userdata('ses_id', $data['email']); redirect('page'); } } else { //jika login sebagai mahasiswa $cek_us_orang_tua = $this->login_model->auth_orangtua($username, $password); if ($cek_us_orang_tua->num_rows() > 0) { $data = $cek_us_orang_tua->row_array(); $this->session->set_userdata('masuk', TRUE); $this->session->set_userdata('id_role', '3'); $this->session->set_userdata('ses_id', $data['email']); redirect('page'); } else { // jika username dan password tidak ditemukan atau salah $url = base_url(); echo $this->session->set_flashdata('msg', 'Username Atau Password Salah'); redirect($url); } } }
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
您可以在 page.php index() 函数而不是函数 __construct() 中尝试此操作
function index()
{
if($this->session->userdata('id_role') ==1){
$data['_view'] = 'dashboard';
$this->load->view('layouts/main', $data);
}else{
redirect("login");
}
}
aluckdog
TA贡献1847条经验 获得超7个赞
您正在重定向到page控制器索引方法,您可以在该index方法上设置访问角色:
function index()
{
if (!empty($this->session->userdata('id_role'))) {
$data['_view'] = 'dashboard';
$this->load->view('layouts/main', $data);
} else {
redirect(base_url());
}
}
- 2 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消