def wrapper(self, *args, **kwargs): headers = self.request.headers access_token = kwargs[ 'access_token'] if "access_token" in kwargs else headers.get( 'Authorization', None) id = kwargs['id'] if "id" in kwargs else headers.get('id', None) if not id or not access_token: logger.info( "%s: id_token_login ERROR_LOGIC!!! not id:%s or not access_token:%s" % (func, id, access_token)) self.set_status(error_code.ERROR_LOGIC, 'Parameter Error') return {"result": error_code.ERROR_LOGIC} validate = TokenMgr().check_expire_access_token(access_token, id) if not validate: logger.info( "%s: id_token_login ERROR_LOGIC!!! access_token not valid, id:%s access_token:%s" % (func, id, access_token)) self.set_status(401, "Unauthorized(access token invalid)") return {"result": error_code.ERROR_LOGIC} from mmm_da.lib.account.control import AccountMgr account = AccountMgr().get_data_by_id(str(id)) if not account: logger.info( "%s: id_token_login ERROR_LOGIC!!! not account, id:%s" % (func, id)) self.set_status(error_code.ERROR_LOGIC, 'Parameter Error') return {"result": error_code.ERROR_LOGIC} valid_result = __is_account_valid(account) if valid_result != error_code.ERROR_SUCCESS: logger.info("%s: is_account_valid %s!!! id:%s" % (func, valid_result, id)) self.set_status(valid_result, 'Parameter Error') return {"result": valid_result} kwargs['account'] = account # 只要有访问服务器产生账号,就算登陆 account.attr_login_time = time.time() return func(self, *args, **kwargs)
def id_passwd_login_params_wrapper(self, id, passwd, *args, **kwargs): if not id or not passwd: logger.info( "%s: id_passwd_login ERROR_LOGIC!!! not enough params" % func) self.set_status(error_code.ERROR_LOGIC, 'Parameter Error') return {"result": error_code.ERROR_LOGIC} if required_admin: if int(id) != int(SYSTEM_ACCOUNT_ID): logger.info( "%s: id_passwd_login ERROR_LOGIC!!! request system account" % func) self.set_status(error_code.ERROR_LOGIC, 'Parameter Error') return {"result": error_code.ERROR_LOGIC} account = AccountMgr().get_data_by_id(id) if not account or account.passwd != passwd: logger.info( "%s:id_passwd_login ERROR_LOGIC, login error, id:%s, passwd:%s" % (func, id, passwd)) self.set_status(error_code.ERROR_LOGIC, 'Parameter Error') return {"result": error_code.ERROR_LOGIC} valid_result = __is_account_valid(account) if valid_result != error_code.ERROR_SUCCESS: logger.info("%s: is_account_valid %s!!! id:%s" % (func, valid_result, id)) self.set_status(valid_result, 'Parameter Error') return {"result": valid_result} kwargs['account'] = account # 只要有访问服务器产生账号,就算登陆 account.attr_login_time = time.time() return func(self, *args, **kwargs)