zoukankan      html  css  js  c++  java
  • flask权限控制

    大概思路为通过管理员id的查询角色,然后查看相应权限,为列表类型,然后通过id查询对应的路由规则,进而得出结论得出是否具有该权限

    具体代码:

    def admin_auth(f):
        @wraps(f)
        def decorated_function(*args,**kwargs):
            return f(*args,**kwargs)
            admin=Admin.query().join(
                Role
            ).filter(
                Role.id==Admin.role_id,
                Admin.id==session["admin_id"]
            ).first()
            auths=admin.role.auths
            auths=list(map(lambda v:int(v),auths.split(",")))
            auth_list=Auth.query.all()
            urls=[ v.url for v in auth_list for val in auths if val==v.id ]
            rule=request.url_rule
            if str(rule) not in urls:
                abot(404)
        return decorated_function

    最后使用@调用即可

  • 相关阅读:
    vue的class绑定
    less里面calc() 语法
    问题
    Spring Boot面试题
    Redis面试题
    nginx面试题
    rabbitMQ面试题
    Linux+Git命令
    docker
    JAVA常用单词
  • 原文地址:https://www.cnblogs.com/kk328/p/10474062.html
Copyright © 2011-2022 走看看