# -*- 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封装相关推荐

  1. Python Tornado框架

    本文参考 https://blog.csdn.net/weixin_42225318/article/details/81384000https://blog.csdn.net/Bryce_Liu/a ...

  2. 阿里实人认证java_GitHub - lap888/react-native-face-aliverify:      基于阿里金融级实人认证sdk封装分享...

    react-native-face-aliverify 基于阿里金融级实人认证sdk封装分享 小序 最初玩RN还是在2017 那时RN版本还在0.4x.x 时间过得确实有点快 最近接了一个RN的项目 ...

  3. linux安装微信商户证书,微信支付-证书安装+使用+CentOS+Python+Tornado

    本篇要讲的是: 如何在CentOS下通过Python+Tornado搭建的网站使用微信支付相关的接口证书的问题 官方文档:https://pay.weixin.qq.com/wiki/doc/api/ ...

  4. python tornado教程_Tornado 简单入门教程(零)——准备工作

    前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端).学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考.完 ...

  5. Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解

    1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...

  6. 全文搜索引擎 Elasticsearch 简介 及其与 Python 的对接实现

    什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度.谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据.然而对于我们自己的业务数据来说,肯 ...

  7. Elasticsearch 基本介绍及其与 Python 的对接实现

    什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度.谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据.然而对于我们自己的业务数据来说,肯 ...

  8. 计算机毕业设计Python+django 宠物领养中心小程序(源码+系统+mysql数据库+Lw文档)

    项目介绍 据世界动物保护协会统计,全世界大概有5亿只流浪狗和散养的狗和大致同样数量的流浪猫,而这些主要源于主人的弃养.同时,在很多地区,狗和猫都处于散养状态,这部分的动物,也经常会变成流浪动物.猫和狗 ...

  9. python项目对接腾讯云发送短信

    python项目对接腾讯云发送短信 先安装需要的包 pip install tencentcloud-sdk-python # -*- coding: utf-8 -*- # pip install ...

最新文章

  1. html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)
  2. JVM内幕:Java虚拟机详解
  3. Atomic原子类常用方法总结(包含四大类型)
  4. Mysql常见的面试总结
  5. Unity3D-光照系统
  6. 岳阳学计算机软件,岳阳学java专业学校排名
  7. hsweb提取页面查询参数_爬虫入门二-提取信息-正则表达式
  8. 12306 被质疑过度获取用户隐私,不授权还买不了票
  9. SUID、SGID、粘滞位
  10. 真正认识 realloc 的工作方式(转载)
  11. mysql grant记录信息
  12. mysql binlog hdfs_Mysql binlog 之阿里canal
  13. office起动缓慢_Word 启动缓慢解决方法
  14. 一位华裔复活了美国奥数国家队:掌舵 6 年 4 次夺冠,打破中国队“垄断”
  15. Android Killer的安装和配置 -安卓逆向的必备神器
  16. 怎样恢复计算机的开机桌面,电脑系统崩溃如何找回桌面文件?
  17. python“反反爬虫”
  18. vue-seamless-scroll公告组件的使用
  19. wind客户端python接口 java调用
  20. 网关技术详解及常见网关对比

热门文章

  1. pycharm 中HTML代码的对齐
  2. python中使用sys模板和logging模块获取行号和函数名的方法
  3. 判断一个Checkbox是否被选中
  4. sysfs接口函数的建立_DEVICE_ATTR
  5. [react] react中调用setState会更新的生命周期有哪几个?
  6. 前端学习(3211):react中类中方法的this指向三
  7. [html] 给内联元素加float与给块元素加float有什么区别?
  8. [html] HTML与XHTML二者有不同
  9. [css] 请说说*{box-sizing: border-box;}的作用及好处有哪些?
  10. 工作138:git使用