Exemple #1
0
 public function login()
 {
     $this->load->library('session');
     if ($data = $this->input->post(NULL, TRUE)) {
         $captcha = md5($this->session_prestr . $data['captcha'] . $this->session_endstr);
         //print_r($data);
         //echo $this->input->post('captcha').'<br>'.$captcha.'<br>'.$this->session->userdata('randcode').'<br>';
         if ($captcha != $this->session->userdata('randcode')) {
             $json = array('status' => 'error', 'msg' => "请填写正确的验证码");
         } else {
             $user_info = $this->db->where(array('username' => $data['user'], 'password' => md5($data['password'])))->get('admin')->row_array();
             if ($user_info) {
                 $auth_code = $user_info['id'] . "\t" . $user_info['username'] . "\t" . $user_info['gid'];
                 $auth_code = _sys_auth($auth_code, 'ENCODE', $this->config->item('auth_key'));
                 $cookie = array('name' => 'wy_admin_auth', 'value' => $auth_code, 'expire' => 0);
                 //print_r($cookie);exit;
                 $update = array('lastip' => $this->input->ip_address(), 'lastdate' => date('Y-m-d H:i:s'));
                 $this->db->where('id', $user_info['id'])->update('admin', $update);
                 $this->input->set_cookie($cookie);
                 $json = array('status' => 'success');
             } else {
                 $json = array('status' => 'error', 'msg' => "帐号或密码错误");
             }
         }
         echo json_encode($json);
     }
 }
 /**
  * 身份验证
  */
 function _check_login()
 {
     $cookie = $this->input->cookie("wy_admin_auth", true);
     if ($cookie) {
         list($adminid, $username, $gid) = explode("\t", _sys_auth($cookie, 'DECODE', $this->config->item('auth_key')));
         $this->db->from('admin as a')->select('a.*, r.rolename, r.module as perm_module, r.category as perm_category')->where('a.id', $adminid);
         $this->db->join('admin_role r', 'r.roleid=a.roleid');
         $user_info = $this->db->get()->row_array();
         if ($user_info) {
             unset($user_info['password']);
             unset($user_info['encrypt']);
             //print_r($user_info);
             $user_info['perm_module'] = unserialize($user_info['perm_module']);
             $user_info['perm_category'] = explode(',', $user_info['perm_category']);
             $this->data['user_info'] = $user_info;
             return true;
         }
     }
     redirect('index/login');
 }