def post(self, *args, **kwargs): rsp = { 'stat': 'err', 'info': '', } self.get_paras_dict() username = self.qdict.get('username', '') # 用户名 passwd = self.qdict.get('passwd', '') # 密码 if not username or not passwd: rsp['info'] = '账号和密码不能为空' return self.write(ujson.dumps(rsp)) user_service = UserServices(self.db) status, user = user_service.check_user_login_pwd(username, passwd) if status: cookies = user_service.user_format_app(user) login_token = create_signed_value( self.application.settings["cookie_secret"], 'loginuser', ujson.dumps(cookies)) rsp['stat'] = 'ok' rsp['data'] = { 'login_token': login_token, 'nick_name': user.Fnick_name, 'photo_url': user.Fphoto_url } return self.write(ujson.dumps(rsp)) else: rsp['info'] = user return self.write(ujson.dumps(rsp))
def post(self): #login_count = self.mcache.get(self.get_client_ip+'_login_count') next = self.get_argument('next', '/topic') back_url = urlparse.urljoin(self.request.full_url(), self.get_argument('next', '/topic')) data = {} username = self.get_argument('username', '') # 用户名 passwd = self.get_argument('passwd', '') # 密码 if not username or not passwd: data['error'] = '账号和密码不能为空' self.echo('view/login/login.html', { 'next': next, 'data': data }, layout='') else: user_service = UserServices(self.db) status, user = user_service.check_user_login_pwd(username, passwd) if status: user.Flast_visit = datetime.datetime.now() user.Flast_visit_ip = self.get_client_ip user.Fvisit_times = user.Fvisit_times + 1 cookies = user_service.user_format(user) self.set_secure_cookie( 'loginuser', ujson.dumps(cookies), expires_days=100 if int( self.get_argument('login_forever', 0)) else 0.1, httponly=True) self.db.add(user) self.db.commit() self.redirect(back_url) else: data['error'] = '账号或密码错误' self.echo('view/login/login.html', { 'next': next, 'data': data }, layout='')