0

是否可以在代码点火器控制器的构造函数中检查用户身份验证?

用户控制器

class user extends CI_Controller{

function __construct() {
    parent::__construct();

    $this -> load -> model('user_model');
    if (!$this -> user_model -> logged_in()) {
        $this -> load -> view('user/login');

    } else {
        return TRUE;

    }
   }

}

当我运行这个时,登录后我的仪表板顶部有登录视图。登录之前我得到两个登录视图。我试过这个最小化重复检查用户是否登录。

4

2 回答 2

0

如果您想在不更改 url 的情况下显示登录页面,您应该使用 forward 方法。但是CI没有前进的方法。

检查以下答案。 CodeIgniter 中的内部转发操作

于 2013-07-16T11:01:37.417 回答
-1

只需进行简单的会话检查,例如检查用户的会话有效性(如果设置或未设置):

if(!$this->session->userdata('logged_user')){
    redirect('controller/function', 'refresh');
}

在控制器中:

public function function(){
    $this->load->view('login');
}
于 2013-07-16T10:47:17.467 回答