3月 31

[转载]tornado判断登录和操作权限(装饰器)

判断是否有操作权限

def with_permission(permission):
''''''
 
def _decorator(method):
''''''
@functools.wraps(method)
def wrapper(self, *args, **kwargs):
''''''
user = self.current_user # 这里判断用户是否存在(登录)
if not user:
self.set_status(404)
return
 
if permission in user.permission_list: # 判断用户是否有足够的权限
method(self, *args, **kwargs)
else:
data = {"error": "need permission:%s" % permission}
self.write_json(data, status=403)
return wrapper
return _decorator

转载地址:https://www.bbsmax.com/A/x9J2DbAWd6/