如题:现有一个 Company 用户与一个 User 用户表, 如果登录 User 的话,能访问到 Company 的某些页面, 现在想加个 permission_require 裝式器,传两个参数,c and u 代码如下:
def permissions_required(user,company):
def decorator(f):
@wraps(f)
def decorated_function(*args,**kwargs):
if current_user.role.name == 'User':
if not current_user.can(user):
return jsonify(code=-10, msg='没有权限', data={})
elif current_user.role.name == 'Company':
if not current_user.can(company):
return jsonify(code=-10, msg='没有权限', data={})
return f(*args,**kwargs)
return decorated_function
return decorator
现存问题: 判断第一个为 Flase 后直接 return 了 不 Return 的话,又越权了。 有没有人解决过相关的问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.