我正在建立一个网站,其中有一个管理员和用户页面。我有一个问题,即使我以用户身份登录,也可以通过URL访问管理页面。我在登录页面上有验证检查,但是,如果我已经以用户或管理员身份登录,则可以访问所有页面。我只想将页面限制为它们的角色。这是我的代码。请帮助我,谢谢。
这是我的控制器
class login extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper('url','html');
$this->load->model('login_model');
}
public function index(){
$this->load->view('login');
}
public function verify_login()
{
$data = $this->login_model->verify_login();
if ($data) {
$userdata = array('id' => $data[0]['user_id'] , 'name' => $data[0]['full_name'], 'type' => $data[0]['user_type'] );
$this->session->set_userdata('login_info',$userdata);
if($userdata['type'] == 0) {
header("Location: ".base_url()."home");
}
else {
header("Location: ".base_url()."reports_controller");
}
}
else{
header("Location: ".base_url()."login");
}
}
public function logout(){
$this->session->sess_destroy('login_info');
header("Location: ".base_url()."login");
}
}
答案 0 :(得分:0)
首先,您必须检查您的会话值将返回什么,然后您可以限制网址。使用它来检查您的会话 $ session = $ this-> session-> userdata('login_info'); $ type = $ session ['type'];