Flask - 登录权限验证

登录权限的验证

  • 只要走center路由,判断用户是否是登录状态, 如果用户登录了, 可以正常显示页面,如果用户没有登录,则自动跳转到登录页面进行登录, 登录之后才可以进行查看

钩子函数

直接应用在app上

  • before_first_request:处理第一次请求之前执行。

  • before_request:在每次请求之前执行。

  • after_request : 在每个请求之后注册一个要运行的函数, 每次请求都会执行. 需要接收一个 Response 类的对象作为参数 并返回一个新的Response 对象 或者 直接返回接受到的Response 对象

  • errorhandler:errorhandler接收状态码,可以自定义返回这种状态码的响应的处理方法。

  • teardown_appcontext:不管是否有异常,注册的函数都会在每次请求之后执行。

  • 钩子请求在一次请求中的执行顺序, 如下
    在这里插入图片描述

Blueprint钩子函数

在这里插入图片描述

  • before_app_request : 只要有请求都会执行

过滤不用登录可以访问的页面和需要登录才可以访问的页面

g对象

  • global :全局
  • g.user = user : 本次请求的对象,往g对象里面放了一个属性值user。
@user_bp.before_app_request
def before_request():
    # 如果访问的页面在限制页面中
    if request.path in required_login_list:
        # 判断是否登录
        id = session.get('uid')
        # 如果没有登录,返回到登录界面
        if not id:
            return render_template('user/login.html')
        else:
            # 获取user
            user = User.query.get(id)
            # 把user放到全局变量中
            g.user = user
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值