一.登录
根据
用户名查询数据库,如果
为空,则返回
false
$admin_info = $this->getByUsername($username);
$admin_info是一个存有正确用户信息的二维数组,比对都用它
如果不为空,则获取salt与用户输入的密码进行加密,再与数据库的比对,如果 !=,则返回false
如果密码正确,则存储登录信息
$data = [ 'last_login_time' => NOW_TIME, 'last_login_ip' => get_client_ip(1), 'id' => $admin_info['id'], ];//保存用户信息到session中 session('ADMIN_INFO', $admin_info);//权限验证如果有勾选记住密码
/** * 生成令牌,保存到cookie和db中 */ private function _saveToken($admin_info,$is_remember=false) { //如果勾选了记住密码,就生成token if($is_remember){ //生成随机字符串,我们习惯上称之为令牌token $token = \Org\Util\String::randString(32); //存储到cookie一份 $data = [ 'id' => $admin_info['id'], 'token' => $token, ]; cookie('AUTO_LOGIN_TOKEN', $data, 604800); //存储到数据库一份 $this->save($data); } }