工作中遇到需要权限认证的需求,想到两个方法,在此记录
方法一:
用类装饰器,如下:
class authenticated(object):
def __init__(self, role):
self.role = role
def __call__(self, method):
def login_wrapper(_self, *args, **kwargs):
userinfo = _self.current_user
print(userinfo)
if userinfo:
return method(_self, *args, **kwargs)
return _self.redirect(_self.get_login_url())
def admin_wrapper(_self, *args, **kwargs):
userinfo = _self.current_user
user_obj = User.query.filter_by(name=userinfo).first()
print(type(int(user_obj.grade)))