首页 > Windows开发 > 详细

flask API权限控制

时间:2018-01-09 16:35:39      阅读:438      评论:0      收藏:0      [点我收藏+]
def api_permission_control(request_info):
"""
API权限控制装饰器
:param info:
:return:
"""
def _access_control(func):
def wrap_func(*args, *kwargs):
try:
endpoint = request_info.endpoint
http_method = request_info.method
headers = request_info.headers
user_id = headers["User-Id"]
role = get_role(user_id)
Permissions = get_api_permission()
res=Permissions[role][endpoint][http_method]
if not method_dict[res]:
return jsonify({‘error‘: ‘no permission‘,"code":403})
return func(
args, **kwargs)
except KeyError:
return jsonify({‘error‘: ‘no permission‘,"code":403})
except Exception as e:
return jsonify({‘error‘: ‘api permission control error,error msg %s‘ % str(e), "code": 500})
return wrap_func
return _access_control

flask API权限控制

原文:http://blog.51cto.com/yylinux/2059054

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!