# -*- coding: utf-8 -*- import jsonimport requests import logging as loggerfrom python.akskapp.scripts.api.baseHandler import Rclass AuthSdk(object):# 登录def loginToAuthcenter(self, username, password):resp = Noneheaders = {"Content-Type": "application/json"}data = {"username": username,"password": password}try:resp = requests.post("http://localhost:5666/login", data=json.dumps(data), headers=headers)print(json.loads(resp.content))except Exception as e:logger.error(e)return resp# def logout(self):# host = options.conf.authcenter# 是否已经登录def isLogin(self, sessionid, verification):headers = {"session_id": sessionid, "verification": verification}resp = requests.post("http://localhost:5666/islogin", cookies=headers)content = json.loads(str(resp.content, encoding="utf-8"))if resp.status_code == 200 and content is not None and content != {}:# print(content)return True, content# print(resp.content)return False, resp.content def needPermission(permissionstr):def decorator(func):def hasPermission(self,*args, **kw):sessionid = self.get_cookie("session_id")verification = self.get_cookie("verification")# print(sessionid)# print(verification)islogin, content = AuthSdk().isLogin(sessionid, verification)permissionList = []if islogin:permissionList = content["permissions"]else:self.set_status(401)self.write(R().errorCodeMsg(401, "认证不通过,请确认是否登录"))return# print('%s %s %s():' % (self, permissionstr, func.__name__))if permissionstr not in permissionList:self.set_status(403)self.write(R().errorCodeMsg(403, "没有访问权限"))returnelse:return func(self, *args, **kw)return hasPermissionreturn decoratorif __name__ == '__main__':asdk = AuthSdk()boolres, content = asdk.isLogin('NzViYWU2M2JmNDRiOGQ5ZTMwZWFmN2Q2ZDRiYzI3NzRjNWIzYzE0ZWE5MjM1NDQwMzI2ODBkNTI4Mjg4Nzk5Yg==|1555926739|6a69c6cbf0384f6c26d42384ca046b5c9495a201','NjQxNDY4Yzk0MGYzYjUxOTJiNmFiODMzMjZiMjZjZDQ1Yzk4OGUxMzg3OGU0Y2RkNTJkMDBlYWQwYTFjMWEzMg==|1555926739|f4ed1b4254bbe38dd604e7199c11a532b8240228')# print(boolres)# asdk.loginToAuthcenter("admin", "123456")