python封装成sdk_python tornado对接权限中心的sdk封装

#-*- coding: utf-8 -*-

importjsonimportrequestsimportlogging as loggerfrom python.akskapp.scripts.api.baseHandler importRclassAuthSdk(object):#登录

defloginToAuthcenter(self, username, password):

resp=None

headers= {"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))exceptException as e:

logger.error(e)returnresp#def logout(self):

#host = options.conf.authcenter

#是否已经登录

defisLogin(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)

returnTrue, content#print(resp.content)

returnFalse, resp.contentdefneedPermission(permissionstr):defdecorator(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=[]ifislogin:

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 inpermissionList:

self.set_status(403)

self.write(R().errorCodeMsg(403, "没有访问权限"))return

else:return func(self, *args, **kw)returnhasPermissionreturndecoratorif __name__ == ‘__main__‘:

asdk=AuthSdk()

boolres, content= asdk.isLogin(‘NzViYWU2M2JmNDRiOGQ5ZTMwZWFmN2Q2ZDRiYzI3NzRjNWIzYzE0ZWE5MjM1NDQwMzI2ODBkNTI4Mjg4Nzk5Yg==|1555926739|6a69c6cbf0384f6c26d42384ca046b5c9495a201‘,‘NjQxNDY4Yzk0MGYzYjUxOTJiNmFiODMzMjZiMjZjZDQ1Yzk4OGUxMzg3OGU0Y2RkNTJkMDBlYWQwYTFjMWEzMg==|1555926739|f4ed1b4254bbe38dd604e7199c11a532b8240228‘)#print(boolres)

#asdk.loginToAuthcenter("admin", "123456")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值