如题:现有一个 Company 用户与一个 User 用户表, 如果登录 User 的话,能访问到 Company 的某些页面, 现在想加个 permission_require 裝式器,传两个参数,c and u 代码如下: def permissions_required(user,company): def de ..

Flask 验证多用户问题

如题:现有一个 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 的话,又越权了。 有没有人解决过相关的问题?

  • Flask
    4 引用 • 2 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    305 引用 • 434 回帖 • 675 关注
  • Q&A

    提问之前请先看《提问的智慧》精读注解版,好的问题比好的答案更有价值。

    1116 引用 • 7312 回帖 • 585 关注
回帖   
请输入回帖内容...