在CI的项目开发过程中,需要进行用户登录态的验证和跳转,如果只是每个页面或者每个控制器都写相同的代码,那是很浪费开发效率的,而且
相当的麻烦,于是思考既然可以有全局控制器那么就可以在全局中添加登录态的判断,其他继承自该控制器的控制器中可以自定义是否需要登录态判断。
代码 :
MY_Controller.php 添加登录验证代码:
public $need_login = false;
public function __construct()
{
parent::__construct();
$this->check_login();
}
...............//分割线
private function check_login(){
if($this->need_login){
$session_data = $this->session->userdata('user_info');
if(!$session_data){
$url = "/login_index";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
exit;
}
}
}
在子控制器中只要如下的实现就可以了:
public function __construct()
{
$this->need_login = true;//控制是否需要登录
parent::__construct();
}
这样全局的登录验证功能就完成了..