在codeigniter中授权

时间:2017-08-14 09:41:38

标签: php codeigniter authentication

我正在使用codeigniter,我正在做一个身份验证系统 - 用户可以登录,他可以在注销后查看所有页面。接下来的问题是:为什么注销用户可以看到所有页面而无需登录。如何更正?这是我的控制者:

android:layout_height="match_parent"

1 个答案:

答案 0 :(得分:0)

您必须检查用户是否在每个必须具有查看用户权限的功能的开头登录

if (!$this->session->userdata("user")) {
  redirect("auth/login", "refresh");
}

我假设您的视图功能只能在用户登录时查看,更改

private function view($page, $data=false) {
    if($page == "auth/login" ){
        $this->load->view("auth/header_auth.php");
    }else{
      $this->load->view("header.php");
  }

   $this->load->view($page, $data);
   $this->load->view("footer.php");
 }

到这个

private function view($page, $data=false) {
if (!$this->session->userdata("user")) {
    redirect("auth/login", "refresh");
}
    if($page == "auth/login" ){
        $this->load->view("auth/header_auth.php");
    }else{
      $this->load->view("header.php");
  }

   $this->load->view($page, $data);
   $this->load->view("footer.php");
 }

<强>更新

每个人都可以查看您的信息中心,只有登录用户才能查看该信息中心执行此操作:

public function dashboard() {
  if (!$this->session->userdata("user")) {
    redirect("auth/login", "refresh");
  }
  $this->view("auth/dashboard");
}