码迷,mamicode.com
首页 > Windows程序 > 详细

flask API权限控制

时间:2018-01-09 16:53:41      阅读:590      评论:0      收藏:0      [点我收藏+]

标签:end   control   dict   控制   mission   war   ret   user   turn   

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权限控制

标签:end   control   dict   控制   mission   war   ret   user   turn   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!