python tornado对接权限中心的sdk封装
生活随笔
收集整理的這篇文章主要介紹了
python tornado对接权限中心的sdk封装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
# -*- 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")?
轉載于:https://www.cnblogs.com/zipon/p/10754866.html
總結
以上是生活随笔為你收集整理的python tornado对接权限中心的sdk封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 局域网ARP欺骗
- 下一篇: python 字符串翻转