您的位置:首页 > 编程语言 > Python开发

python学习系列之python装饰器基础(3)---装饰器实现用户登录验证

2015-11-30 13:28 1211 查看
接我之前的基础(2),如果又有新的需求,就是在不改变原代码的基础上,新增一个用户验证登录的功能,怎么破?
上代码:
#basic3.py

#coding:utf-8

def login():
name = 'lilei'
if name == 'hanmeimei':
return True
else:
return False

def auth(func):
def inner(*arg, **kwargs):
print 'before'
is_login = login()
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
执行部分:
#b3.py

import basic3

ret_list = basic3.fetch_server_list('test')
print ret_list
执行结果:
#python b3.py
before
非法用户!


本文出自 “苦咖啡's运维之路” 博客,请务必保留此出处http://alsww.blog.51cto.com/2001924/1718137
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: