python学习系列之python装饰器基础(4)---装饰器实现token验证功能
2015-11-30 14:38
961 查看
接上文基础(3),假如又有新的需求:在用户登录时候,加一个token验证功能,怎么破?
见代码:
本文出自 “苦咖啡's运维之路” 博客,请务必保留此出处http://alsww.blog.51cto.com/2001924/1718172
见代码:
#basic4.py #coding:utf-8 def login(key): local_key = "78A7AS78AAGD68AH23JB23JH34J2JH42JH46N35NK24235SDMmasdaldjkasldkasdkla" if local_key == key: return True else: return False def auth(func): def inner(*arg, **kwargs): print 'before' # key = kwargs['token'] # del kwargs['token'] key = kwargs.pop('token') #kwargs.pop相当于上面2句,先取出key,然后删除key。 is_login = login(key) if not is_login: return '非法用户!' # func代指 fetch_server_list 原函数 temp = func(*arg,**kwargs) print 'after' return temp return inner @auth def fetch_server_list(arg): serve_list = ['c1','c2','c3'] return serve_list执行部分:
#b4.py import basic4 key = "78A7AS78AAGD68AH23JB23JH34J2JH42JH46N35NK24235SDMmasdaldjkasldkasdkla" ret_list = basic4.fetch_server_list('test',token=key) print ret_list执行结果:
#python b4.py before after ['c1', 'c2', 'c3']
本文出自 “苦咖啡's运维之路” 博客,请务必保留此出处http://alsww.blog.51cto.com/2001924/1718172
相关文章推荐
- [Python] DNS-Related Python Program
- Python设计模式系列之四: 创建型Abstract Factory模式
- Python 设计模式系列之二: 创建型 Simple Factory 模式
- unbtun python tab补全
- 【python游戏编程之旅】第五篇---嗷大喵爱吃鱼小游戏开发实例
- Python中函数式使用
- Python机器学习库scikit-learn实践
- 运算符优先级-Python 运算符优先级
- 使用Python学习RabbitMQ消息队列
- python爬虫学习记录之报错及解决方案
- python学习系列之python装饰器基础(3)---装饰器实现用户登录验证
- python常见模块命令(os/sys/platform)
- Python字符串比较忽略大小写的方法
- Python技巧——根据函数名获得函数对象
- python处理文本又一坑--又是编码
- Python中使用UUID
- python3 基于原语锁的简单同步
- 在eclipse搭建python开发环境
- 10001---Python环境搭建(Windows)
- windows下python程序开机自启动