示例#1
0
 public function login()
 {
     //验证验证码
     $code = I('post.checkcode');
     $username = I('post.username');
     $password = I('post.password');
     $captcha = new \Think\Verify();
     if (!$captcha->check($code)) {
         $this->error = '验证码不正确';
         return false;
     }
     //通过用户名获取用户的密码和盐
     $userinfo = $this->getByUsername($username);
     if (!$userinfo) {
         $this->error = '用户名不正确';
         return false;
     }
     //验证加盐加密后的密码
     if (my_mcrypt($password, $userinfo['salt']) !== $userinfo['password']) {
         $this->error = '密码不正确';
         return false;
     }
     unset($userinfo['salt'], $userinfo['password']);
     login($userinfo);
     $shopping_car = D('ShoppingCar');
     $shopping_car->moveCarToDb();
     return true;
     //成功返回true,失败返回false
 }
示例#2
0
 /**
  * 用户登录。
  * 验证验证码
  * 验证用户名
  * 验证密码
  * @param string $username 用户名
  * @param string $password 密码
  * @return boolean true成功 false失败
  */
 public function login($username, $password)
 {
     //判断验证码是否匹配
     $code = I('post.captcha');
     $captcha = new \Think\Verify();
     if ($captcha->check($code) === false) {
         $this->error = '验证码不正确';
         return false;
     }
     //1.根据用户名获取对应的记录,得到盐和密码
     $row = $this->getByUsername($username);
     if ($row) {
         //2.有记录,说明用户名是存在的,进行密码验证
         $salt = $row['salt'];
         $db_password = $row['password'];
         //3.使用加盐加密进行验证
         if (my_mcrypt($password, $salt) == $db_password) {
             //                session('USERINFO',$row);
             login($row);
             //是否需要保存登录信息
             if (I('post.remember')) {
                 //保存token到数据库和cookie
                 cookie('admin_id', $row['id'], 604800);
                 //保存一周
                 $token = create_token();
                 cookie('token', $token, 604800);
                 //保存一周
                 D('AdminToken')->addToken($row['id'], $token);
             }
             $this->savePermission();
             return true;
             //验证通过,用户名和密码匹配
         } else {
             $this->error = '密码不正确';
             return false;
         }
     } else {
         $this->error = '用户名不存在';
         return false;
     }
 }