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'); }